Java 如何在多个索引中放置char

Java 如何在多个索引中放置char,java,arraylist,stringbuilder,charat,Java,Arraylist,Stringbuilder,Charat,我必须思考一个12个字母的单词,计算机必须猜出这个单词。我有一个字母a到Z的数组列表。我让计算机随机挑选一个字母,如果字母在单词中,我必须将字母放在索引中。但如果字母必须在索引2和索引8处,该怎么办我该怎么做? 一个暗示会很有帮助 !!如果计算机猜到单词中的一个字母,我会在相应的索引处设置该字母,例如键入2 知道吗,它只将字母放在一个索引中,然后删除该字母(因为它只能对该字母进行一次查询。我使用的是一个12个字母的单词) private Scanner sc;

我必须思考一个12个字母的单词,计算机必须猜出这个单词。
我有一个字母a到Z的数组列表。我让计算机随机挑选一个字母,如果字母在单词中,我必须将字母放在索引中。但如果字母必须在索引2和索引8处,该怎么办<代码>我该怎么做? 一个暗示会很有帮助

!!如果计算机猜到单词中的一个字母,我会在相应的索引处设置该字母,例如键入2

知道吗,它只将字母放在一个索引中,然后删除该字母(因为它只能对该字母进行一次查询。我使用的是一个12个字母的单词)

            private Scanner sc;
            private ArrayList<Character> letters;
            private int answer;
            private char randL;
            private char ch;
            private int wrongG = 0; 
            private int wrongA = 0; 
            private int randNum;
            private StringBuilder hiddenW = new StringBuilder("............");
            private boolean match;

  public void gameComputer() {
    for (int i = 0; i < 26; i++) { 
        ch = (char) ('A' + i);
        letters.add(ch);
    }

    while (wrongA < 10) {
        randNum = (int) (Math.random() * letters.size());
        randL = letters.get(randNum);
        System.out.println("De computer raadt een " + randL
                + ". Op welke plaats(en) staat die letter?");
        answer = sc.nextInt();

        for (int ii = 0; ii < hiddenW.length(); ii++) {
            if (answer > -1 && answer < 12) {
                hiddenW.setCharAt(answer, randL);
                match = true;

            }

        }

        if (answer == 100) {
            match = false;
        }
        if (match) {
            System.out.println(hiddenW);
            System.out.println("Aantal fouten: " + wrongA);
        }
        if (!match) {
            wrongA = wrongA + 1;
            System.out.println("Aantal fouten: " + wrongA);
        }
        if (wrongA == 10) {
            System.out.println("you couldn't guess the word");
            break;
        }
        letters.remove(randNum);
    }
}
我想把这封信放在多个索引上 就像电脑猜到了一个
A
我想键入2和8,并在索引2和8处设置
字母A
函数tocharray()应该会有所帮助

我想你可以用toCharArray分解隐藏的单词,然后将随机选择的字母与新数组的每个成员进行比较


如果您希望能够给出多个索引而不是一个索引,请使用
sc.nextLine()
而不是
sc.nextInt()
,并用逗号分隔索引(如果您不喜欢逗号,也可以写其他内容)-例如“2,8”。然后您可以使用
charAt
读取整个字符串,并通过整个字符串或您喜欢的任何其他方式进行迭代。

您能给出一个例子,而不是解释应该发生什么吗?我还不完全理解,举个例子(希望如此)帮助。如果计算机猜到字母A,我想键入2和8,并将字母A设置为索引2和8,那么它只会将字母A设置为索引2。@codermusgrove您的代码看起来不可思议。您有
而(错误<10)
并且您在代码中的任何地方都不会使用
errog
。在代码的后面,您有
erroga
,这在其他地方也不会使用。您还说用户猜到一个字母,但我只看到
sc.nextInt()
在你的代码中。整数不是字母。随机数对我来说也没有多大意义。真的很难理解你想做什么。有人会认为这是一个刽子手游戏,但你的代码表明不是。请澄清。计算机猜测一个字母,将字母排列在字母阵列中t、 让我编辑一下@Gendarmeit有点像刽子手,但我必须想到这个词,计算机猜出一个字母,如果这个字母在单词中,我必须把它放在相应的索引中。@Gendarme
 the computer guessed O. Op welke plaats(en) staat die letter?
 2 8     
..O.........
Aantal fouten: 0
the computer guessed  I. Op welke plaats(en) staat die letter?
..O.....I...
Aantal fouten: 0
the computer guessed  K. Op welke plaats(en) staat die letter?