Как получить, какой вариант я нажал, когда я использую 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".

Другие вопросы по тегам