gpt4 book ai didi

java - 如何获取在使用 JOptionPane.showOptionDialog 时单击了哪个选项?为什么会出现不兼容类型错误

转载 作者:行者123 更新时间:2023-12-02 13:20:55 25 4
gpt4 key购买 nike

我想说首先请原谅我的英语不好。我不是母语人士。

所以,我正在用 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 类型不可兼容的类型。有什么好主意我该怎么办?

最佳答案

如您所知,JOptionPane.showOptionDialog()返回一个int,而不是一个String。因此,您无法将 userChoiceaString 元素之一进行比较。相反,使用 userChoice 作为索引来获取选择:

if (userChoice != JOptionPane.CLOSED_OPTION) {
String choice = a[userChoice];
// Do something with choice
}

要确定游戏的结果,您可以直接使用 userChoice 而不是 String 表示形式。例如,不要将“石头击败剪刀”视为“0 击败 1”。

关于java - 如何获取在使用 JOptionPane.showOptionDialog 时单击了哪个选项?为什么会出现不兼容类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43565490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com