Beim Programmieren in Java Sternchen ausgeben!
Hallo liebe Helfer, ich habe ein kleines Problem mit der Ausgabe einer Aufgabe die wie folgt lautet:
Schreiben Sie ein Java-Programm, das zunächst die Eingabe eines positiven int-Wertes anzahl über die Tastatur erwartet. Anschließend soll das Programm anzahl-mal ein Sternchen () auf den Bildschirm ausgeben. Realisieren Sie das Programm viermal, und zwar einmal mit Hilfe einer for- Schleife, einmal mit Hilfe einer while-Schleife, einmal mit Hilfe einer do-Schleife und einmal mit Hilfe einer Endlos-Schleife (while (true) ) und der break-Anweisung. Beispiele: Eingabe: 5 Ausgabe:
Ich weiß nur nicht, wie ich die Sternchen gemäß der Anzahl ausgeben kann. Habe schon einiges Ausprobieren und irgendwie will es nicht. Vielen Dank im Voraus für Antworten oder Anregungen. Misu
6 Antworten
Ich geb dir mal ein Beispiel für die variante mit einer for schleife als pseudo-code
n = leseInteger()
for (i = 0; i < n; ++i) {
schreibe("*");
}
Das ist alles. Wie gesagt das ist nur Pseudo-code und kein gültiger Java-code. Wie du das für die anderen machen musst darfst du selbst herausfinden.
Nach dieser Antwort hab ich den Kopf auf den Tisch gehauen. Vieeelen Dank. Ich hatte da echt ein Brett vorm Kopf und habe jetzt auch hingekriegt. Danke Misu-chan
Nach dieser Antwort hab ich den Kopf auf den Tisch gehauen. Vieeelen Dank. Ich hatte da echt ein Brett vorm Kopf und habe jetzt auch hingekriegt. Danke Misu-chan
Ich würde jetzt in jeder der vorgegebenen Schleifen zu einem String ein '*' hinzufügen.
Das bedeutet vor der Schleife erstellst Du einen leeren String, und in der Schleife fügst Du diesem String bei jedem Durchlauf ein Sternchen hinzu. Zum Schluss gibst Du dann diesen String aus. Das machst du einfach fünf Mal (entweder fünf Anwendungen oder fünf Prozeduren, die verschieden gestartet werden)
Bsp: Von 1 bis Anzahl -> String + '*'
Musst Du halt in Java umsetzen, das kriege ich jetzt nicht so hin. (Mein Schul-Java ist schon etwas her)
Man kann sich auch den Umweg über die String Variable sparen und System.out.print("...") verwenden. Sieht in dem Fall genau so aus
for(int i = 0; i < x; i++) {
System.out.print("*");
}
oder
String asteriks = "";
for(int i=0; i<x; i++) {
astreriks = asteriks + "*";
}
System.out.println(asteriks);
Das entsprechende dann mit do und while Schleife
Die erste Variante ist OK, da gepuffert, aber die zweite Variante ist so ineffizient, dass es selbst bei nur 10 iterationen weh tut ... so etwas macht man doch nicht! Nicht mal zu Demo- oder Testzwecken! ><
Wenn schon, dann mindestens so (obwohl man hier auch noch DEUTLICH mehr optimieren kann, da man ja immer nur das selbe Zeichen x-mal haben will):
StringBuilder asteriks = new StringBuilder(x);
for(int i = 0; i < x; i++) {
astreriks.append('*');
}
System.out.println(asteriks);
Oder in Python (OT, ich weiß! Nur zum Vergleich!):
print('*' * x)
Ansonsten gute Antwort! :)
for(int i = 0; i<x; i++){
// tu was
}
schonmal sowas gesehen?
Geht es nicht mit "System.out.print("") oder .println("")
Ich ging von einem Problem mit der Ausgabe des Zeichens aus, dachte die Schleife wäre klar.
Ja das schon aber ich muss die Anzahl ja gemäß der Zahl ausgeben, die eingeben wurde. also wie im Beispiel für 5 die er einliest fünf Sternchen. und ich weiß nicht wie ich diese Variable hinbekommen. Aber danke trotzdem schonmal^^ Misu
Das ist für 1 Sternchen, ich nehm an, das kriegt er hin.
Aber hier geht es um vieleviele Sternchen.