Zufallszahl zwischen 1-2 generieren?
Hallo, wie es auch schon im Titel steht ,möchte ich wissen ob es eine Methode gibt die mir entweder 1 oder 2 auf der Konsole anzeigen kann . Danke
4 Antworten
![](https://images.gutefrage.net/media/user/JanMarcel01/1545064833528_nmmslarge__96_96_1728_1728_1530d37dedc00fac79f60049c3b6a4db.jpg?v=1545064834000)
Hey,
hier kommt es jetzt drauf an, ob du mit "zwischen 1-2" 1 oder 2 meinst, oder eine Kommazahl zwischen 1-2.
// 1 oder 2
Random random = new Random();
int randomNumber = random.nextInt(2) + 1;
// Kommazahl zwischen 1 und 2
Random random = new Random();
double randomNumber = random.nextDouble() + 1;
Mfg Jannick (L1nd)
![](https://images.gutefrage.net/media/user/JanMarcel01/1545064833528_nmmslarge__96_96_1728_1728_1530d37dedc00fac79f60049c3b6a4db.jpg?v=1545064834000)
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Generiere eine Zufallszahl zwischen 0 und 1, dann addiere 1.
Tada, die Zufallszahl ist nun 1 oder 2.
Wie du den ersten Schritt erledigst bleibt dir überlassen:
A) Math.round(Math.random())
B) Math.floor(Math.random() * 2)
C) new Random().nextInt(2)
D) ThreadLocalRandom.current().nextInt(2)
![](https://images.gutefrage.net/media/user/Fitness34/1662834556419_nmmslarge__0_693_1125_1125_eb2c9e606db7d4ebadf53cf2a252776b.jpg?v=1662834557000)
Kann man das auch mit Strings machen anstatt mit ganz zahlen ?
![](https://images.gutefrage.net/media/user/FaTech/1708715131049_nmmslarge__0_0_500_500_77a0f43d5804c908f40c8a1b0c260400.png?v=1708715131000)
Mach einen String Array und gib den String an Position der Zufallszahl aus
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
String deinZufallsString = Math.random() < 0.5 ? "Erster String" : "Zweiter String";
Dann steht in der Variable deinZufallsString entweder „Erster String“ oder „Zweiter String“.
![](https://images.gutefrage.net/media/user/Fitness34/1662834556419_nmmslarge__0_693_1125_1125_eb2c9e606db7d4ebadf53cf2a252776b.jpg?v=1662834557000)
mhm ich hätte eine Frage, warum steht da <0,5? und ein fragezeichen?
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Das nennt sich Ternary Operator, einfach mal googlen.
Der Code bedeutet:
Wenn Math.random() kleiner als 0,5 ist,
dann setze deinZufallsString = "Erster String",
ansonsten setze deinZufallsString = "Zweiter String"
Hier eine äquivalente Schreibweise mit if-else :
String deinZufallsString;
if (Math.random() < 0.5) {
deinZufallsString = "Erster String";
} else {
deinZufallsString = "Zweiter String";
}
![](https://images.gutefrage.net/media/user/Fitness34/1662834556419_nmmslarge__0_693_1125_1125_eb2c9e606db7d4ebadf53cf2a252776b.jpg?v=1662834557000)
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Zum Beispiel so:
public class ZufallsInteger {
public static void main(String[] args) {
int min = 1;
int max = 2;
System.out.println((int)(Math.random() * (max - min) + min));
}
}
![](https://images.gutefrage.net/media/user/Fitness34/1662834556419_nmmslarge__0_693_1125_1125_eb2c9e606db7d4ebadf53cf2a252776b.jpg?v=1662834557000)
Kann man das auch mit 2 Strings machen anstatt mit ganz zahlen ?
![](https://images.gutefrage.net/media/user/JimBeamHoney/1635858023665_nmmslarge__166_23_313_313_1a95e33b140b9edc5d91ee69f5fe0689.jpg?v=1635858024000)
Keine Ahnung ob das die einfachste Methode ist, aber ich würde einfach ein kleines Batch Skript erstellen. Sollte keine Minute dauern.
https://stackoverflow.com/questions/5777400/how-to-use-random-in-batch-script
Das Skript schreibst du einfach in den Editor und speicherst das ganze als .bat ab.
Er meint wohl eine ganze Zahl: