Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将数组的随机字母保存为字符串_Java_String - Fatal编程技术网

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);