Вход JOptionPane к интервалу

Я пытаюсь заставить JOptionPane получить вход и присвоить его интервалу, но я получаю некоторые проблемы с типами переменных.

Я пробую что-то вроде этого:

Int ans = (Integer) JOptionPane.showInputDialog(frame,
            "Text",
            JOptionPane.INFORMATION_MESSAGE,
            null,
            null,
            "[sample text to help input]");

Но я добираюсь:

Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot
be cast to java.lang.Integer

Который звучит логичным все же, я не могу думать о другом способе заставить это произойти.

Заранее спасибо

8
задан kxk 25 June 2010 в 19:41
поделиться

3 ответа

Простое использование:

int ans = Integer.parseInt( JOptionPane.showInputDialog(frame,
        "Text",
        JOptionPane.INFORMATION_MESSAGE,
        null,
        null,
        "[sample text to help input]"));

Вы не можете привести String к int, но вы можете преобразовать его с помощью Integer.parseInt(string).

8
ответ дан 5 December 2019 в 12:55
поделиться

Это потому, что ввод, который пользователь вставляет в JOptionPane , представляет собой String , и он сохраняется и возвращается как String ].

Java не может преобразовывать строки и числа сама по себе, вы должны использовать определенные функции, просто используйте:

int ans = Integer.parseInt(JOptionPane.showInputDialog(...))
5
ответ дан 5 December 2019 в 12:55
поделиться

Обратите внимание, что Integer.parseInt генерирует исключение NumberFormatException, если переданная строка не содержит синтаксической строки.

0
ответ дан 5 December 2019 в 12:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: