Hét vraag- en antwoordplatform van Nederland

hoe kan ik een random code generen in java zonder dubbele letters?

ik moet een random letter combinatie generen in java ( a-f).
hoe kan ik er voor zorgen dat er geen dubbele letters zitten in mijn combinatie? dit is mijn code tot nu toe
public String generatecode() {

Random rand = new Random();

String code = "";

for (int i = 0; i < 4; i++) {
int var = rand.nextInt(6) + 1;
var = var + 64;
code = code + (char) var;



}
return code;

Verwijderde gebruiker
7 jaar geleden
Geef jouw antwoord
0 / 2500
Geef Antwoord

Antwoorden (1)

Met de suggeste van iHave kom ik (ongetest) op dit:

char var;
for (int i = 0; i < 4; i++) {
do { var = (char)(rand.nextInt(6) + 65); }
while(code.indexOf(var) >= 0);
code = code + var;
}
return code;

Let op dat als je een code van meer dan 6 karakters wilt genereren, deze functie in een oneindige lus komt. Een veiligere aanpak zou zijn om een array van de beschikbare letters te maken en daar steeds eentje random uithalen.
Verwijderde gebruiker
7 jaar geleden
Deel jouw antwoord
0 / 2500
Geef Antwoord
logo van Kompas Publishing

GoeieVraag.nl is onderdeel van Kompas Publishing