Elemente eines arrays abfragen?

2 Antworten

Ein Array "ist" eine Variable - bzw. es ist eine Speicherstruktur, auf die Du mit einem Variablennamen zugreifen kannst. Wie jede andere Variable auch. Und natürlich kannst Du Elemente eines Arrays lesen oder schreiben:

int[] intArray = new int[5];
intArray[0] = 1;
intArray[1] = 4711;

if (intArray[4] == 9999) { ... }

Natürlich kannst Du auch den Benutzer Daten eingeben lassen und diese einem Element des Arrays zuweisen, genau wie oben.

virin1  15.03.2017, 16:18
int[] meinArray = {1,2,3,4,5};

geht auch noch

2
ohwehohach  15.03.2017, 16:22

Um alle Werte des obigen Arrays vom Benutzer eingeben zu lassen, musst Du wiefolgt vorgehen:

for (int i = 0; i < intArray.length; i++)
{
  // Wert vom User eingeben lassen
  ...

  // wert im Array speichern
  intArray[i] = eingegebenerWert;
}
1
JayZin1337 
Fragesteller
 15.03.2017, 17:03
@ohwehohach

Wie es aussieht versteh ich das einfach nicht ... Ich meine Ich möchte , dass mich die Konsole fragt welchen Wert ich suche , ich dann diesen Wert eingebe und dieser mir dann die Position und den Wert noch einmal ausgibt . Zuvor war meine Hausaufgabe das ich einen Array erstelle und einen "gesuchten" Wert im Code eingebe und dieser dann mir die Postion eines Wertes wiedergibt . Doch daraufhin wollte mein Lehrer , dass ich meinen Code so umändere , dass ich "Blue j " abfrage wo der Wert ist ohne einen Wert im Code eingegeben zu haben.

public class lineareSuche
{
public static void main (String [] args) {
// instance variables - replace the example below with your own
int [] values = {34,23,12,35,45};
int searchedValue = 45 ;
int pos = 0;
boolean found = false;
while(pos < values.length && !found){
if (values[pos] == searchedValue){
found = true;
}
else {
pos++;
}
}
if (found){
System.out.println("Gefunden an Position : " + pos);
}
else {
System.out.println("Nicht gefunden");
}
}
}
0
ohwehohach  15.03.2017, 17:15
@JayZin1337

Da hast Du ja mal hübsch irgendwo Code herkopiert. Kein Wunder, dass Du nicht verstehst, was der macht. Nächstes Mal solltest du zumindest die Kommentare entfernen...

Soviel dazu. In diesem Code steht ja der Wert "searchedValue" fest codiert. Du suchst also den Wert 45. Jetzt will Dein Lehrer anscheinend, dass nicht im Code steht, welcher Wert gesucht wird, sondern dass der Benutzer das eingeben kann. Also dann programmiere doch eine Eingabe! Ersetze die Zeile

int searchedValue = 45;

durch

Scanner reader = new Scanner(System.in);
System.out.println("Bitte geben Sie die zu suchende Zahl ein: ");
int searchedValue = reader.nextInt();

Fertig. Jetzt wird der Benutzer aufgefordert, eine Zahl einzugeben. Der Scanner filtert aus der Eingabe direkt Zahlen raus, wenn es welche gibt. Das macht die Eingabeverarbeitung leichter.

0

Elemente einer Array abzufragen?

Wenn du ein Element einer Array 'abfragen' willst, kannst du das beispielsweise machen, sofern du den Index kennst.

Bei einer Stringarray die so aussähe:

String[] myArray = new String[3];
myArray[0] = "a";
myArray[1] = "b";
myArray[2] = "c";

Sofern du weißt, dass dein gewünschter Eintrag sich an Index = 1 befindet, kannst du diesen Wert abfragen:

String gesuchterWert = myArray[1];

Sofern du einen bestimmten Wert "suchen" möchtest, kannst du die Array per Schleife durchlaufen und so beispielsweise dessen Index ermitteln.

String suchwert = "b";
int suchwertIndex = -1;

for (int i = 0; i < myArray.length; i++) {
    if (suchwert.equals(myArray[i]) {
        suchwertIndex = i;
        break;
    }
}

Ich meine Ich möchte , dass mich die Konsole fragt welchen Wert ich suche

Deinen Wert, den die Konsole abfragst, kannst du Beispielsweise in der Variable: "suchwert" speichern.