Java Random Code generieren lassen?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Sowas hier

import java.util.Random;

...


Random random = new Random();
String out = "";
for(int i = 0 ; i<4; i++) {
  for(int j = 0 ; j<4; j++) {
    out = out + random.nextInt(9);
  }
    out = out + "-";
}
out = out.substring(0, out.length() - 1);
System.out.println(out);
        

Das lässt sich recht einfach und elegant mit Streams abhandeln, z.B. so:

Random rand = new Random();
String randCode = rand.ints(4, 0, 10_000)
        .mapToObj(i -> String.format("%04d", i))
        .collect(Collectors.joining("-"));

Vier mal ein random int von 1000 bis 9999 erstellen und dann alles mit - verbinden.


Lucas520 
Beitragsersteller
 05.05.2021, 23:14

Da währe ich niemals draufgekommen! Danke, das sollte funktionieren.

0
jort93  05.05.2021, 23:18
@Lucas520

Dann wäre sowas wie 0105 nicht möglich, nichts mit 0 am anfang.

Ich habe nun angenommen dass das auch möglich sein soll.

2
Anonym5948  06.05.2021, 10:52
@jort93

Stimmt, da hast du natürlich Recht. Dann kann man

a) Zahlen von 0-9999 generieren und entsprechen mit 0-en auffüllen

oder

b) einfach vier einzelne Ziffern von 0-9 erstellen und zu einer Zahl xxxx zusammenfügen

0