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
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)
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)
Kann man das auch mit Strings machen anstatt mit ganz zahlen ?
Mach einen String Array und gib den String an Position der Zufallszahl aus
String deinZufallsString = Math.random() < 0.5 ? "Erster String" : "Zweiter String";
Dann steht in der Variable deinZufallsString entweder „Erster String“ oder „Zweiter String“.
mhm ich hätte eine Frage, warum steht da <0,5? und ein fragezeichen?
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";
}
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));
}
}
Kann man das auch mit 2 Strings machen anstatt mit ganz zahlen ?
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: