Zufallszahlen zwischen 0 bis 9 generieren bis die Zahl 7 erscheint / JAVA While loop / schleife -?
Hallo Zusammen
Ich habe vor kurzem erst mit meinem Wirtschaftsinformatikstudium angefangen und struggle jetzt schon.
Ich wäre euch dankbar, wenn ihr mir bei der folgenden Aufgabe helfen könntet:
Schreibe ein Programm das Zufallszahlen zwischen 0 und 9 ausgibt und zwar so lange, bis die Zahl 7 erreicht wird. Damit werden bei jeder Ausführung unterschiedlich viele Zahlen ausgegeben, die letzte Zahl ist jedoch immer eine 7.
Was hast du denn bis jetzt schon bzw. wo hakt es?
besten Dank, ich konnte es nun lösen!! :)
hatte durch das Fehlen vom "break;" am Ende, eine Endlosschleife,
2 Antworten
Ist doch einfach:
Zahl mit 0 oder einer Zahl unterschiedlich von 7 vorgelegen.
Dann While Schleife Zahl ungleich 7
In der Schleife Zufallszahl erzeugen
Diese Ausgeben
Solange also keine 7 kommt werden immer neue Zahlen erzeugt, bei 7 endet die While Schleife
Wenn man unbedingt will geht das auch. Aber Do-While wäre besser, genau dafür ist er ja da.
Zum einen steht das in der Aufgabe zun anderen ja auch kein großer Unterschied.
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rn = new Random();
int zahl=7;
while (zahl < 10) {
zahl = rn.nextInt(10);
if (zahl != 7){
System.out.print(zahl);
} else if (zahl == 7) {
System.out.print(zahl);
break;}
}
}
}
Es gibt viele lösungen. Hier z.B. eine andere
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rn = new Random();
int zahl=7;
do {
zahl = rn.nextInt(10);
System.out.print(zahl);
} while(zahl != 7);
}
}
Benutz am besten auch die quelltext funktion hier, sonst ist das kaum zu lesen.
Deine hat 2 redundante if verzweigungen sein, das dürfte ineffizienter sein.
Danke für den Tipp und den Vorschlag. Die Do While Schlaufe wird ab kommender Woche behandelt und ich musste die Aufgabe mit dem bisher gelernten lösen. Aber verstehe dank dir nun den Vorteil der Do-while Schleife
Nimm ruhig die While Schleife.
Zuerst hat einen Wert setzen damit die While Schleife mindestens 1 mal durchlaufen wird (alles außer 7)
super besten Dank für eure rasche Hilfe! habe es nun lösen können
Genau, du nimmst einen while, loop, generierst da zufallszahlen, gibst sie aus und überprüfst ob sie 7 sind.
PS. Java und JavaScript sind völlig unterschiedliche dinge die nur "zufällig" einen ähnlichen namen haben.
super besten Dank für eure rasche Hilfe! habe es nun lösen können
Allerdings sind sie auch nicht ganz verschieden.
Andere Programiersprachen unterscheiden sich da viel mehr.
Aber du hast recht, man sollte sie nicht verwechseln
DIe sind schon sehr unterschiedlich. Java hat mehr mit C# zu tun als mit javascript...
Wenn du es so machen willst musst du aber eine do-while schleife nehmen.
Denn du musst die zahlen ja generieren bevor du den wert überprüfst.