我正在尝试查看两个 char 数组是否相等,但是由于某种原因,它们似乎从未正确读取为与 Java 相等。我很确定这可能与我对 Arrays.equals() 方法缺乏了解有关,所以如果有人愿意解释 Arrays.equals() 在数组中的外观,那将是很棒的(从我的角度来看)从一个简单的谷歌搜索中看到,它似乎检查了数组中有多少元素,然后是内容,但我对方法在元素中查看的内容感兴趣,例如大写字母是否使其不相等)
因为这很可能只是错误的代码,所以这是我的代码:
int count = 0;
Highscore words = new Highscore();
String word = words.getWord();
word = word.toUpperCase();
char guess;
for(int i = 0; i<word.length(); i++)
{
charwo[count] = word.charAt(i);
charda[count]= '_';
count++;
}
int guesses =7;
while(guesses != 0 || !Arrays.equals(charwo, charda))
{
System.out.println("");
for(int l=0; l<count; l++)
{
System.out.print(" "+charda[l]);
}
guess = JOptionPane.showInputDialog("Enter letter ").charAt(0);
if(word.toUpperCase().contains(String.valueOf(guess).toUpperCase()))
{
for(int k = 0; k<word.length(); k++)
{
if(String.valueOf(guess).toUpperCase().equals(String.valueOf(charwo[k]).toUpperCase()))
{
charda[k]=charwo[k];
}
}
}
else
{
guesses = guesses-1;
System.out.println("guesses left "+guesses);
}
}
}