Java: Boolean richtig ausgeben?


14.06.2022, 16:31

.

3 Antworten

Beim ersten if hast du wieder den gleichen Fehler, wie gestern drin. Du suchst nach Zahlen, die gleichzeitig kleiner als 0 und größer oder gleich 5 sind. Das wird also nie aufgerufen. Der Teil im else passt aber und markiert alle Noten, die im gültigen Bereich sind, mit true. Ich denke mal, dass der Teil "true true true" in deiner Ausgabe daher kommt, dass du vorher direkt in den ifs ein System.out.println drinstehen hattest, oder? Dann wird dir nämlich nur für die drei passenden Noten (1, 5, 2) ein true ausgegeben und die anderen beiden werden übersprungen.

Ein boolean-Array kannst du genau so, wie ein int-Array ausgeben:

System.out.println(Arrays.toString(laenge));

Wenn du das Arrays.toString nicht reinschreibst, benutzt die println Methode laenge.toString, was aber nicht konfiguriert ist und daher wird die toString-Methode der übergeordneten Klasse aufgerufen, was Object.toString ist und dir einfach den Hash-Wert des Array-Objekts ausspuckt, daher kommt dieses "[Z@e9e54c2"

Wo ist denn die Zeile mit deiner Ausgabe?

Ansonsten:

System.out.println(laenge[i]);

... sollte funktionieren.


bschbaum 
Fragesteller
 14.06.2022, 16:30

Danke! Aber an den letzten zwei Stellen erkennt er es noch nicht

0
bschbaum 
Fragesteller
 14.06.2022, 16:34
@Gehilfling

ich habe ein Array mit den Zahlen {1,5,6,-1,2} bei den ersten drei Zahlen wird true angegeben, dann hört es auf.

0

System.out.println(laenge[i]);

Woher ich das weiß:Hobby – Ich programmiere seit 2020