所以我必须想到一个词,而计算机需要猜出这个词。 我做了一个来自A-Z的字母数组列表,如果字母在我想的那个字母中,计算机将随机选择一个字母。我必须输入te字母对应的de index。但是我怎么能把猜测的信件放在多个指数上。并且在和我删除猜测的信,所以计算机不能猜两次信。提示会有所帮助。
以下示例
Math.abs($('.hd-termometro').offset().top - $('.ft-termometro').offset().top);
示例:
private int answer;
private char randL;
private int wrongA = 0;
private int randNum;
private StringBuilder hiddenW = new StringBuilder("............");
private boolean match;
private Scanner sc;
private ArrayList<Character> letters;
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 lose computer");
break;
}
letters.remove(randNum);
}
}
答案 0 :(得分:-1)
您需要逐个字符循环遍历整个单词,如果索引处的字符与输入的字符匹配,则需要替换它。
以下是一个例子。
public static void main(String[] args) {
char letter = 'C';
String word = "ACCEPT";
StringBuilder guessedWord = new StringBuilder("------");
for (int i = 0; i < word.length(); i++) {
if (word.charAt(i) == letter) {
guessedWord.setCharAt(i, letter);
}
}
System.out.println("Original word: "+ word + " - guessed word: "+ guessedWord.toString());
}
原文:接受 - 猜到的字:-CC ---
以上是我的代码示例,与您的示例一起使用
public static void main(String[] args) {
for (int i = 0; i < 26; i++) {
char ch = (char) ('A' + i);
letters.add(ch);
}
while (wrongA < 10) {
match = false;
randNum = (int) (Math.random() * letters.size());
randL = letters.get(randNum);
System.out.println("De computer raadt een " + randL);
for (int i = 0; i < word.length(); i++) {
if (word.charAt(i) == randL) {
hiddenW.setCharAt(i, randL);
letters.remove(randNum);
match = true;
}
}
if (match) {
System.out.println(hiddenW);
System.out.println("Aantal fouten: " + wrongA);
}
if (!match) {
wrongA++;
System.out.println("Aantal fouten: " + wrongA);
}
if (wrongA == 10) {
System.out.println("you lose computer");
break;
}
if (word.equals(hiddenW.toString())) {
System.out.println("You win computer!");
break;
}
}
}
出:
De computer raadt een X
Aantal fouten: 1
De computer raadt een P
....P.
Aantal fouten: 1
De computer raadt een L
Aantal fouten: 2
De computer raadt een G
Aantal fouten: 3
De computer raadt een I
Aantal fouten: 4
De computer raadt een N
Aantal fouten: 5
De computer raadt een S
Aantal fouten: 6
De computer raadt een F
Aantal fouten: 7
De computer raadt een T
....PT
Aantal fouten: 7
De computer raadt een N
Aantal fouten: 8
De computer raadt een J
Aantal fouten: 9
De computer raadt een D
Aantal fouten: 10
you lose computer
De computer raadt een V
Aantal fouten: 1
De computer raadt een D
Aantal fouten: 2
De computer raadt een S
Aantal fouten: 3
De computer raadt een K
Aantal fouten: 4
De computer raadt een F
Aantal fouten: 5
De computer raadt een S
Aantal fouten: 6
De computer raadt een Q
Aantal fouten: 7
De computer raadt een C
.CC...
Aantal fouten: 7
De computer raadt een U
Aantal fouten: 8
De computer raadt een H
Aantal fouten: 9
De computer raadt een U
Aantal fouten: 10
you lose computer