Я начал писать код JAVA, и теперь я хочу получить случайное письмо из списка букв, поэтому, что я должен использовать для этого.Как получить случайное письмо из списка конкретных букв?
2
A
ответ
6
Я возьму ваш вопрос буквально:
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()));
1
Этот фрагмент должен быть поучительным:
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
@Ivan Вы не можете скомпилировать его, потому что вам нужно инициализировать список. После этого он будет скомпилирован, поэтому просто добавьте символы, которые вы хотите в список. –