Как получить, какой вариант я нажал, когда я использую JOptionPane.showOptionDialog? Почему я получаю ошибку неустранимых типов
Я хочу сказать, извините меня сначала за мой недостаток английского. Я не носитель языка.
Итак, я создаю бумажную игру в стиле рок-ножницы с графическим интерфейсом на Java.
Алгоритм очень прост. Я получу showOptionDialog с тремя кнопками. (камень, ножницы, бумага) Когда я нажимаю одну из трех кнопок, Java сравнивает мой выбор и выбор компьютера. Компьютер выберет случайное число от 1 до 3
Я почти закончил с моим графическим интерфейсом, но у меня есть некоторые проблемы с 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. Есть хорошая идея, как мне поступить?
1 ответ
Как вы знаете, JOptionPane.showOptionDialog () возвращает int
не String
, Таким образом, вы не можете сравнить userChoice
к одному из String
элементы a
, Вместо этого используйте userChoice
В качестве индекса для выбора:
if (userChoice != JOptionPane.CLOSED_OPTION) {
String choice = a[userChoice];
// Do something with choice
}
Чтобы определить результаты игры, вы можете так же легко использовать userChoice
напрямую, а не String
представление. Например, вместо "камень бьет ножницы" думайте об этом как "0 ударов 1".