所以我正在做作业,这应该是一场牛和牛的游戏。
我生成了 4 个随机整数进行猜测,用户输入一个 4 位数字。然后我验证该数字确实是 4 位数长并将其转换为 CHAR 数组。之后,我想将随机生成的数字与数组中的元素一一进行比较,如果相等,则将“1”添加到计数器中。
我已经尝试了许多我在互联网上找到的类似问题的解决方案,其中一些非常困难的解决方案我没有,因为它们看起来有点矫枉过正,因为我对编程还是很陌生,我觉得好像我错过了一些简单而明显的东西。问题是,每次我遍历数组时,元素都应该匹配,但条件总是“假”。
这是代码的有问题的部分:
Scanner Sc1 = new Scanner(System.in);
if(Sc1.hasNextInt()){ // is it a number ? ?
int user_guess = Sc1.nextInt();
String user_guess_string = Integer.toString(user_guess); // how.
int length = user_guess_string.length(); // many
if(length != 4){ //digits
System.out.println("On vaja 4 numbrid.Mäng hakkab otsast pihta");
cows_and_bulls();}
char[] player_number = user_guess_string.toCharArray();
char num0 = (char)random1; // casting
char num1 = (char)random2; // random numbers
char num2 = (char)random3; // into
char num3 = (char)random4; // chars
int cows = 0; // counter of instances where a number guessed by the user is in array
int bulls = 0; // counter of instances where a guessed number is in array and correct spot
for (char element : player_number) {
if (element == num0) {
cows = cows + 1;
}
}
System.out.println(cows);
}
else{ System.out.println("Not a number. Game will restart");
cows_and_bulls();}
}
我也试过这个:
for (int i = 0; i < 4; i++) {
char c = Array.getChar(player_number,i);
if (num0 == c) {
System.out.println("works");
break;
}
}
我知道我在这方面很糟糕,请帮助。