刚刚开始了计算机科学学位并且已经完成了制作一个Hangman游戏的任务,它似乎工作找不到它没有打印“你赢了”,我无法看到/弄清楚为什么它没有。你们的任何帮助都会很棒。
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Random rand = new Random();
char[] alpha = new char[26];
Arrays.fill(alpha, ' ');
String a1 = "intro to programming";
String a2 = "computer";
String a3 = "mouse and keyboard";
String a4 = "skyrim";
String a5 = "hello world";
int selector = rand.nextInt(5) + 1;
char[] words = null;
char[] show = null;
if (selector == 1) {
words = a1.toCharArray();
show = a1.toCharArray();
Arrays.fill(show, '-');
} else if (selector == 2) {
words = a2.toCharArray();
show = a2.toCharArray();
Arrays.fill(show, '-');
} else if (selector == 3) {
words = a3.toCharArray();
show = a3.toCharArray();
Arrays.fill(show, '-');
} else if (selector == 4) {
words = a4.toCharArray();
show = a4.toCharArray();
Arrays.fill(show, '-');
} else if (selector == 5) {
words = a5.toCharArray();
show = a5.toCharArray();
Arrays.fill(show, '-');
}
int length = words.length;
System.out.println("Please enter the amount of tries you would like:");
int amount = scan.nextInt();
String guessed;
char guessedchar;
for (int i = 0; i < length; i++) {
if (words[i] == ' ') {
show[i] = ' ';
}
}
int x = 0;
while (amount >= 0) {
System.out.print("String to guess: ");
for (char n : show) {
System.out.print(n);
System.out.print(" ");
}
System.out.println(" ");
System.out.println("Number of tries left: " + amount);
System.out.print("Number of times you have tried: ");
for (char a : alpha) {
System.out.print(a);
System.out.print(" ");
}
System.out.println(" ");
System.out.println("Enter a guess");
guessed = scan.next();
guessedchar = guessed.charAt(0);
alpha[x] = guessedchar;
for (int i = 0; i < length; i++) {
if (guessedchar == words[i]) {
show[i] = guessedchar;
}
}
x = x + 1;
amount = amount - 1;
if (amount == 0) {
System.out.println("You lose");
return;
} else if (show == words) {
System.out.println("You won");
}
}
}
答案 0 :(得分:0)
将单词和show数组转换为Strings并检查它们是否与.equals()相等,然后应该显示正确的消息