2 つの char 配列が等しいかどうかを確認しようとしていますが、何らかの理由で Java と等しいと正しく読み取られていないようです。これは Arrays.equals() メソッドに対する私の理解不足に関係していると確信しているので、Arrays.equals() が配列内で何を見ているかを誰かが説明したいなら、それは素晴らしいことです (私が何から単純なGoogle検索から見たところ、配列に含まれる要素の数とその内容を確認しているように見えますが、メソッドが要素内で何を見ているかに興味があります。たとえば、大文字は不等式になります)
これはおそらく単に欠陥のあるコードであるため、私のコードは次のとおりです。
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);
}
}
}