Hallo,
ich habe folgende Methode:
Dazu eine Erklärung: die Methode bekommt eine "Liste" Schmetterling Kinder[] von ca. 1500 Schmetterlingen mit jeweils 3 unterschiedlichen Merkmalen (Musterung(entweder keins, gepunktet oder streifen), Farbe(rot, gelb, grün, blau), Fühlerform(gerade oder gekrümmt)). Es kommen daher in der "Liste" Schmetterlinge mehrfach vor.
Wenn ich der Methode noch ein Merkmal mit hinzu gebe, dann soll diese Methode mir eine Teilliste erstellen, mit der prozentualen Anzahl der Schmetterlinge mit dem hereingegeben Merkmal.
Meine Methode ist aber nicht richtig. Die Konsole spuckt mir folgendes aus: []
den Scanner habe ich in einer anderen Klasse so prgrammiert:
Kann jemand meine Methode korrigieren. Ich sehe den Fehler nicht
ich habe folgende Methode:
Java:
public void auswertenMerkmal (Schmetterling Kinder[], String merkmal){
// Lege Teilliste an, welche nur diejenigen Schmetterlinge beinhaltet, die das gewünschte Merkmal besitzen.
LinkedList<Schmetterling> KinderMerkmal = new LinkedList<Schmetterling>();
for (int i=0; i<Kinder.length; i++){
if ((Kinder[i].getFuehlerform().equals(merkmal)) || (Kinder[i].getMusterung().equals(merkmal)) || (Kinder[i].getFluegelfarbe().equals(merkmal))){
KinderMerkmal.add(Kinder[i]);
}
}
System.out.println(KinderMerkmal);
}
Dazu eine Erklärung: die Methode bekommt eine "Liste" Schmetterling Kinder[] von ca. 1500 Schmetterlingen mit jeweils 3 unterschiedlichen Merkmalen (Musterung(entweder keins, gepunktet oder streifen), Farbe(rot, gelb, grün, blau), Fühlerform(gerade oder gekrümmt)). Es kommen daher in der "Liste" Schmetterlinge mehrfach vor.
Wenn ich der Methode noch ein Merkmal mit hinzu gebe, dann soll diese Methode mir eine Teilliste erstellen, mit der prozentualen Anzahl der Schmetterlinge mit dem hereingegeben Merkmal.
Meine Methode ist aber nicht richtig. Die Konsole spuckt mir folgendes aus: []
den Scanner habe ich in einer anderen Klasse so prgrammiert:
Java:
String merkmal = "";
System.out.println (" ");
System.out.println ("Welches Merkmal wollen Sie von allen Kinderschmetterlingen genauer untersuchen?");
System.out.println ("Geben Sie '1' für 'keine Musterung', '2' für 'schwarze Punkte', '3' für 'schwarze Streifen',");
System.out.println("'4' für 'rot', '5' für 'gelb', '6' für 'grün', '7' für 'blau', '8' für 'gerade Fühler', '9' für 'gekrümmte Fühler' ein");
while(merkmal == ""){
String EingabeV1 = scanner.nextLine();
switch (EingabeV1){
case "1": merkmal = "keine Musterung";
break;
case "2": merkmal = "schwarze Punkte";
break;
case "3": merkmal = "schwarze Streifen";
break;
case "4": merkmal = "rot";
break;
case "5": merkmal = "gelb";
break;
case "6": merkmal = "grün";
break;
case "7": merkmal = "blau";
break;
case "8": merkmal = "gerade Fühler";
break;
case "9": merkmal = "gekrümmte Fühler";
break;
default: System.out.println("Eingabe ungültig!");
}
}
Auswertung auswertung2 = new Auswertung();
auswertung2.auswertenMerkmal(Kinder, merkmal);
Kann jemand meine Methode korrigieren. Ich sehe den Fehler nicht
Zuletzt bearbeitet: