我正在编写一个程序,用户在其中输入名称,P,S或T和回合数。然后它将检查它们是否相等(取决于选择的条件是否获胜?这是一场石头,纸,剪刀的游戏)。然后,如果它们相等,我希望它在iChoice中打印替换版本的iComputerChoiceJOPtionPane。 (因为在这种情况下,它将仅打印P,S或T)。这些是替代品:

“ P” =“纸” //“ S” =“剪刀” //“ T” =“石头”

下面是代码块:

if(iComputerchoice.equals(iChoice))
        {
            JOptionPane.showMessageDialog (null, "Computer: " +iComputerchoice + "\n" + "" +iName + ": " + "" +iChoice + "\nIt's a tie!", "Result", JOptionPane.PLAIN_MESSAGE);
        }


例:
iComputerchoice = P
iChoice = P

电脑=纸张//您的名字=纸张//这是一条领带!

我知道一种执行此操作的方法,但时间较长。我想知道是否有更短的方法来做到这一点。谢谢!

最佳答案

在许多方面。例如,编写一个将为您完成转换的方法:

private String convertChoice(String abbr)
{
   if (abbr.equals("T")) return "Stone";
   else if (abbr.equals("S")) return "Scissors";
   else return "Paper";
}


然后在更新JOptionPane中的值时使用convertChoice(iChoice)而不是iChoice。

09-15 14:35