Java 将数组的随机字母保存为字符串
我想写一个程序,其中字符串数组的不同字母根据随机顺序形成不同的单词。最重要的是字母不能在一个单词中重复。我可以以某种方式创建正确的模式,但问题是我只能在控制台上显示它们,无法找到将它们保存为类似于字符串的方法。这是我的密码:Java 将数组的随机字母保存为字符串,java,string,Java,String,我想写一个程序,其中字符串数组的不同字母根据随机顺序形成不同的单词。最重要的是字母不能在一个单词中重复。我可以以某种方式创建正确的模式,但问题是我只能在控制台上显示它们,无法找到将它们保存为类似于字符串的方法。这是我的密码: int size = 4; ArrayList<Integer> list = new ArrayList<Integer>(size); Random rnd = new Random(); while (list.size()<size)
int size = 4;
ArrayList<Integer> list = new ArrayList<Integer>(size);
Random rnd = new Random();
while (list.size()<size) {
int random = rnd.nextInt(size);
if (!list.contains(random)) {
list.add(random);
}
}
String[] words = {"M","O","A","N"};
for(int i=0 ; i<size ; i++){
System.out.println(words[list.get(i)]);
}
您可以将它们累积到StringBuilder:
首先声明一个空字符串
String answer = "";
然后在你的for循环中
answer+=words[list.get(i)];
当你离开for循环时
System.out.println(answer);
我会得到你想要的。为了提高效率,我阅读了StringBuilder。您可以这样做
int size = 4;
ArrayList<Integer> list = new ArrayList<Integer>(size);
Random rnd = new Random();
while (list.size() < size) {
int random = rnd.nextInt(size);
if (!list.contains(random)) {
list.add(random);
}
}
String[] words = {"M", "O", "A", "N"};
String finalWord = "";
for (int i = 0; i < size; i++) {
finalWord += words[list.get(i)];
}
System.out.println(finalWord);
int size = 4;
ArrayList<Integer> list = new ArrayList<Integer>(size);
Random rnd = new Random();
while (list.size() < size) {
int random = rnd.nextInt(size);
if (!list.contains(random)) {
list.add(random);
}
}
String[] words = {"M", "O", "A", "N"};
String finalWord = "";
for (int i = 0; i < size; i++) {
finalWord += words[list.get(i)];
}
System.out.println(finalWord);