Zufallszahlen zwischen 0 bis 9 generieren bis die Zahl 7 erscheint / JAVA While loop / schleife -?

sonderdings  02.10.2022, 12:35

Was hast du denn bis jetzt schon bzw. wo hakt es?

newinformatik 
Fragesteller
 02.10.2022, 15:53

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

jort93  02.10.2022, 12:48

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.

1
jort93  02.10.2022, 14:53
@NackterGerd

Wenn man unbedingt will geht das auch. Aber Do-While wäre besser, genau dafür ist er ja da.

0
NackterGerd  02.10.2022, 22:39
@jort93

Zum einen steht das in der Aufgabe zun anderen ja auch kein großer Unterschied.

0
newinformatik 
Fragesteller
 02.10.2022, 15:54

super besten Dank für eure rasche Hilfe! habe es nun lösen können

0
newinformatik 
Fragesteller
 02.10.2022, 15:56

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;}

}

}

}

0
jort93  02.10.2022, 16:54
@newinformatik

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.

1
jort93  02.10.2022, 16:59
@newinformatik

Deine hat 2 redundante if verzweigungen sein, das dürfte ineffizienter sein.

1
newinformatik 
Fragesteller
 02.10.2022, 23:56
@jort93

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

0
NackterGerd  03.10.2022, 00:42
@newinformatik

Nimm ruhig die While Schleife.

Zuerst hat einen Wert setzen damit die While Schleife mindestens 1 mal durchlaufen wird (alles außer 7)

0

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.

NackterGerd  02.10.2022, 12:41

Wer redet denn von Script?

0
jort93  02.10.2022, 16:34
@NackterGerd

DIe sind schon sehr unterschiedlich. Java hat mehr mit C# zu tun als mit javascript...

0
newinformatik 
Fragesteller
 02.10.2022, 15:54

super besten Dank für eure rasche Hilfe! habe es nun lösen können

0