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