Frage von gut4fr5g4, 71

Java frage zu if und else und so?

Wie kann ich in java mit if abfragen:

"Wenn alle Rectangles grün sind, dann..." (Das ist ein sinnloses beispiel, aber es geht ja ums prinzip

Antwort
von Willibergi, 39

Nehmen wir an, du hast folgendes Array:

Rectangle[] recs = new Rectangle[800];

Dieses wurde nach seiner Initialisierung befüllt - es enthält nun 800 Rectangles, die eine bestimmte Farbe haben.

Um zu prüfen, ob alle Rectangles grün sind, empfehle ich folgendes Verfahren:

boolean alleGruen(Rectangle[] r){

   for(Rectangle rect : r){

      if(rect.getColor() != Color.GREEN){

          return false;

      }

      return true;

}

Die Methode gibt einen Wahrheitswert zurück, nämlich, ob alle Rectangles im übergebenen Array grün sind. ;)

Ich hoffe, ich konnte dir helfen; wenn du noch Fragen hast, kommentiere einfach. 

LG Willibergi 

Kommentar von Schachpapa ,

Das return true aber außerhalb der Schleife, sonst wird nur das erste Rechteck getestet.

Also noch eine schließende Klammer vor return true

Kommentar von gut4fr5g4 ,

Vielen Danke! Eine Antwort, die man anders nicht kriegen kann! :D

Kommentar von Willibergi ,

Gern geschehen! ;)

LG Willibergi

Antwort
von TheQ86, 51
if (bedingung) {
    // tu dies
} else if (bedingung) {
    // tu das
} else {
    // tu was anderes
}

Eine Bedingung ist jeder Ausdruck, der einen Wahrheitswert zurückgibt. Das sind: true oder false selbst, Vergleiche (==, <=, >=, !=), logische Verknüpfungen (AND, OR, XOR, NOT)

Antwort
von Schachpapa, 35
boolean allGreen = true;
for (Rectangle r : rectangle) {
if (!r.getFill().equals("Green")) {
allGreen = false;
break;
}
}
if (!allGreen)
System.out.print("Nicht ");
System.out.println("alle Rechtecke sind grün");
Antwort
von EGitarre, 47

if (Bedingung)

{ DANN;}

else if (Bedingung)

{ DANN ;}

else

{DANN;}

Kommentar von gut4fr5g4 ,

Ach... Was denkst du warum ich das beispiel genannt habe... Ich wollte es an dem beispiel wissen...

Kommentar von EGitarre ,

Du hast gesagt ist ein sinnloses Beispiel und es geht ums Prinzip.

Und in deinem Beispiel musst du erstmal die Rectangles iwie in dein Programm kriegen

Und wo ist das Problem da jetzt für "Bedingung" deine Bedingung einzusetzen?

Kommentar von gut4fr5g4 ,

weil ich gucken muss, ob alle werte eines "800er arrays " die selbe farbe haben und ich kann ja nicht 800 mal schreiben if(rectangle[1].getFill().equals("GREEN") || 800mal...)

Was wäre das denn für ein quellcode

Kommentar von EGitarre ,

Das sind schon Angaben mit denen sich arbeiten lässt, so wie du deine Frage gestellt hast klingt es als würdest du grade zum ersten mal mit Java Arbeiten und das Grundprinzip von IF verstehen wollen

Ich würde das ganze mit ner For-Schleife lösen, bei der du dann deine Farbe überprüfst und mit jedem Durchgang den Platz in deinem Array erhöhst und diesen wieder überprüfst

Kommentar von gut4fr5g4 ,

Nimm dir ein beispiel an willibergi... Solche antworten erwarte ich...

Kommentar von ceevee ,

Und was unterscheidet willibergi's Antwort von

Ich würde das ganze mit ner For-Schleife lösen, bei der du dann deine Farbe überprüfst und mit jedem Durchgang den Platz in deinem Array erhöhst und diesen wieder überprüfst

? Viel interessanter ist, ob du seine Antwort auch verstanden hast - könntest du in seinem Code erklären, was jede Zeile macht?

Kommentar von qugart ,

Die Frage hast du nicht gestellt. Du wolltest wissen, wie man if und else verwendet.

Kommentar von gut4fr5g4 ,

Wie kann ich in java mit if abfragen:

"Wenn alle Rectangles grün sind, dann..."

Keine passende Antwort gefunden?

Fragen Sie die Community