Zufallszahl zwischen 1-2 generieren?

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)

Woher ich das weiß:eigene Erfahrung

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)
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

Fitness34 
Fragesteller
 01.06.2022, 10:32

Kann man das auch mit Strings machen anstatt mit ganz zahlen ?

0
FaTech  01.06.2022, 10:51
@Fitness34

Mach einen String Array und gib den String an Position der Zufallszahl aus

1
MrAmazing2  01.06.2022, 12:02
@Fitness34

String deinZufallsString = Math.random() < 0.5 ? "Erster String" : "Zweiter String";

Dann steht in der Variable deinZufallsString entweder „Erster String“ oder „Zweiter String“.

1
Fitness34 
Fragesteller
 01.06.2022, 14:08
@MrAmazing2

mhm ich hätte eine Frage, warum steht da <0,5? und ein fragezeichen?

0
MrAmazing2  01.06.2022, 14:15
@Fitness34

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

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

Fitness34 
Fragesteller
 01.06.2022, 10:31

Kann man das auch mit 2 Strings machen anstatt mit ganz zahlen ?

0