我想先请原谅我缺乏英语。我不是母语人士。
所以,我正在用Java创建一个带有GUI的摇滚剪纸游戏。
算法非常简单。我将得到一个带有三个按钮的showOptionDialog。 (摇滚,剪刀,纸)当我点击三个按钮中的一个时,Java将比较我的选择和计算机的选择。计算机将选择1~3之间的随机数
我差不多完成了我的GUI,但是我遇到了showOptionDialog
的问题private String[]a = {"Rock","Paper","Scissor"};
private int userChoice;
/* some codes
*/
public void actionPerformed(ActionEvent e){
if(e.getSource()==play){
userChoice = JOptionPane.showOptionDialog(null,"Rock Paper Scissor","Choose",JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,null,a,a[1]);
if(userChoice==a[0] )
}
}
我试过这样的东西,但是你知道java给我看了一个不可能的类型int和String。有什么好主意我该怎么办?
答案 0 :(得分:1)
如您所知,JOptionPane.showOptionDialog()会返回int
,而非String
。因此,您无法将userChoice
与String
的{{1}}元素之一进行比较。相反,使用a
作为索引来获得选择:
userChoice
要确定游戏结果,您可以直接使用if (userChoice != JOptionPane.CLOSED_OPTION) {
String choice = a[userChoice];
// Do something with choice
}
,而不是userChoice
表示。例如,而不是"摇滚剪刀"把它想象成" 0击败1"。