2
我已经开始编写一些JAVA代码,现在我想从给定的字母列表中获得一个随机字母,所以我应该如何使用它。如何从特定字母列表中获取随机字母?
我已经开始编写一些JAVA代码,现在我想从给定的字母列表中获得一个随机字母,所以我应该如何使用它。如何从特定字母列表中获取随机字母?
我相信你的问题从字面上:
Random r = new Random(); // Keep this stored as a field
List<Character> l = ...; // initialize this somewhere
char c = l.get(r.nextInt(l.size()));
取决于几个因素(是字母连续的,你是动态调整的列表),您可以使用数组,或者可能不需要一个集合。请参阅Random课程。
实施例:
Random r = new Random(); // Keep this stored as a field
List<Character> l = Arrays.asList('A', 'F', 'O', 'W', 'M', 'I', 'C', 'E');
char c = l.get(r.nextInt(l.size()));
该片段应是有启发:
import java.util.Random;
public class RandomLetter {
static Random r = new Random();
static char pickRandom(char... letters) {
return letters[r.nextInt(letters.length)];
}
public static void main(String args[]) {
for (int i = 0; i < 10; i++) {
System.out.print(pickRandom('A', 'F', 'O', 'W', 'M', 'I', 'C', 'E'));
}
}
}
参见:
如果你想在同一时间做3个字母,那么你可以做这样的事情,而不是:
import java.util.Random;
public class RandomLetter {
static Random r = new Random();
static char pickRandom(char... letters) {
return letters[r.nextInt(letters.length)];
}
public static void main(String args[]) {
for (int i = 0; i < 10; i++) {
System.out.println("" +
pickRandom("ACEGIKMOQSUWY".toCharArray()) +
pickRandom("BDFHJLNPRVXZ".toCharArray()) +
pickRandom("ABCDEFGHJKLMOPQRSTVWXYZ".toCharArray())
);
}
}
}
我不能编译上面的代码,你可以给我一个样品,例如AFOWMICE的随机信件 – Ivan 2010-03-20 05:40:19
@Ivan您无法编译它,因为您需要初始化列表。之后,它将进行编译,因此只需将所需的字符添加到列表中即可。 – 2010-03-20 05:49:47