堆栈 Java 无法按特定顺序打印

Stack in Java not being able to print in specific order

目前我正在做一个应该是反向猜词游戏的项目。

它应该是这样工作的:

Enter a word: (input = cheese)
Your word is: _ _ _ _ _ e
What letter do you guess? (input = s)

用户一直在猜测这个词,直到它被完全拼出。如果用户猜对了该字母,则显示该字母,如果没有猜对,它仍然会被陶醉,如下所示

Your word is: _ _ _ _ _ e
What letter do you guess?
Your word is: _ _ _ _ s e
What letter do you guess?
Your word is: _ _ _ e s e
What letter do you guess?
Your word is: _ _ e e s e
What letter do you guess?
Your word is: _ h e e s e
What letter do you guess?
Your word is: c h e e s e
Gameover!

⚠️ 目前我有一个包含给定单词的所有字母的堆栈,如下所示:⚠️
底部:c h e e s e :Top

我目前有这个代码:

while(guesses < letters.size()){
   System.out.print("Your word is: ");
   for(int i = 1; i < letters.size(); i++){
      System.out.print("_ ");
   }
   System.out.println(letters.peek() + test);
   System.out.println("Score: " + score);
   System.out.print("What letter do you guess? ");
   char guess = sc.next().charAt(0);
   if((Object)guess == letters.peek()){
      test += letters.pop();
      score++;
   }
   else{
      test += letters.pop();
      score--;
   }
}

然而它正在打印这个:

Your word is: _ _ _ _ _ e
Score: 0
What letter do you guess? 
Your word is: _ _ _ _ se
Score: 0
What letter do you guess? 
Your word is: _ _ _ ees
Score: 0
What letter do you guess? 
Your word is: _ _ eese
Score: 0
What letter do you guess? 
Your word is: _ hesee
Score: 0
What letter do you guess? 
Your word is: ceseeh
Score: 0
Gameover!

谢谢。如果需要更多信息,请发表评论并告诉我!

尝试: if(Character.compare(猜猜, (char) letters.peek())){ . 现有逻辑 . }

您的代码不完整,所以我无法确定问题出在哪里。为了回答您的问题,我假设问题是 System.out.println(letters.peek() + test); 行打印的单词不正确。

通过执行 test += letters.pop();,您将 letters.pop() 附加到 test

相反,您应该将 letters.pop() 添加到 test:

test = letters.pop() + test;