How do I shuffle the characters in a string (e.g. hello could be ehlol or lleoh or ...). I don\'t want to use the Collections.shuffle(...)
method, is there anyt
Without external libraries, for those who do not mind using Collections.shuffle()
:
static String shuffle(String string){
List<Character> list = string.chars().mapToObj(c -> new Character((char) c))
.collect(Collectors.toList());
Collections.shuffle(list);
StringBuilder sb = new StringBuilder();
list.forEach(c -> sb.append(c));
return sb.toString();
}
import java.util.Random;
public class carteRecharge {
public static void main(String[] args) {
// TODO Auto-generated method stub
String characters = "AZERTYUIOPQSDFGHJKLMWXCVBNazertyuiopqsdfghjklmwxcvbn1234567890";
Random rand = new Random();
//Nombre de caratère à tirer
int length = 20;
//La variable qui contiendra le mot tire
String randomString = "";
//
char[] text = new char[length];
for(int i = 0; i < length; i++) {
text[i] = characters.charAt(rand.nextInt(characters.length()));
}
for(int i=0; i<text.length; i++) {
randomString += text[i];
}
System.out.print(randomString);
}
}