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?