Kleine Frage zu java?
Servus zusammen,
ich programmiere gerade einen Weihnachtsbaum, aber der Stamm klappt irgendwie nicht. Es hat ein paar Bedingungen, wenn der Baum in Höhe von bis zu 9, dann besteht der Stamm aus einem “I”. Wenn der Baum in Höhe von 10 bis 19, dann ist der Stamm “II”. Wenn der Baum von 20 bis 29 groß ist, dann ist der Stamm “III”. Und so weiter...
ich hab for dafür benutz aber es kommt nur ein ”I” rauß, egal wie groß der Baum ist. Und das ist dann halt falsch.
kann jemand mir sagen, wie man das richtig macht?
Ich wäre euch sehrdankbar dafür.
4 Antworten
Dann poste doch mal die Schleife und Variablendeklarationen davor.
Nun sehe ich den Code im Bild
Es sind drei Änderungen notwendig:
- for ( int o = 1; o < (Hoehe+10)/10; o++)
- Zeile 26: statt println() muss du print() aufrufen, um nach dem "I" keinen Zeilenumbruch zu haben
- Ziele 29: neu hinzu: System.out.println(""); um nach der Schleife den Zeilenumbruch auszugeben.
Wenn Hoehe = 19 ist, dann ist Hoehe + 10 = 29. Wenn ich das durch 10 teile, wird nur der Teil vor dem Komma genommen. Also ist (19+10)/10 = 2
Es geht auch ohne for: Gebe vom String "IIIII" nur die Anzahl der Zeichen aus, die du brauchst.
System.out.println( "IIIIIII".substring( 0, (Hoehe+10)/10 ) );
Geht aber nur bis zu einer gegebenen Anzahl von Zeichen im String. Da ist die for-Schleife sicherer.
FOR ist eine Schleife ä, damit könntest du einstellen wieviele I gezeichnet werden sollten. Zuvor müsse aber die Anzahl in einer anderen Variable gespeichert werden. Hierfür benötigst du eine Bedinung.
Du hättest jetzt min 3 Bedingungen
<= 9
9 >= 19
19 >= ...
Hierfür könnte man auch einen Switch überlegen.
Die For-Schleife macht etwas so oft wie man einträgt aber nie anders.
aber Ich weiß nicht wie groß der Baum ist, damit ich Switch benutze, deshalb brauche ich eine for glaube ich
Ich kenne mich sehr wenig mit Java aus, aber ich denke du musst ein { am Ende der Zeile 24 setzen und die Einrückungen richtig machen
aber Wie soll das machen?