如何在使用JOptionPane.showOptionDialog时点击哪个选项?为什么我会得到兼容类型的错误
问题描述:
我想先说我的缺乏英语。我不是母语的人。如何在使用JOptionPane.showOptionDialog时点击哪个选项?为什么我会得到兼容类型的错误
因此,我正在用Java创建一个岩石剪刀纸游戏。
该算法非常简单。我将得到一个带有三个按钮的showOptionDialog。 (rock,scissor,paper)当我点击三个按钮中的一个时,Java会比较我的选择和计算机的选择。电脑会选择随机数1
之间〜3
我几乎我的GUI完成,但我有一些问题,showOptionDialogprivate 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显示我的incomporable类型int和字符串。任何好主意我应该怎么做?
答
如您所知,JOptionPane.showOptionDialog()返回int
,而不是String
。因此,您无法将userChoice
与a
的String
个元素之一进行比较。相反,使用userChoice
作为指标来获得选择:
if (userChoice != JOptionPane.CLOSED_OPTION) {
String choice = a[userChoice];
// Do something with choice
}
要确定比赛的结果,你可以很容易地使用userChoice
直接,而不是String
表示。例如,而不是“摇滚节拍剪刀”将其视为“0节拍1”。
+0
感谢您的回答!我现在很困,所以我不能编码,但我会在稍后测试你的建议。谢谢 – ProgramLover
你得到了什么确切的错误信息? –
@ Code-Apprentice正如我所提到的,在编译之前,Java会显示一个可以解释的类型错误。编译后我现在不知道。我没有完成我的代码,我现在不能编译。 – ProgramLover
@代码学徒问题是我知道为什么Java显示一个可以兼容的类型,但我不知道我该怎么做在其他方式 – ProgramLover