В Java, насколько возможно, я могу преобразовать числовой ввод сканера (например, 2 или 87) в целочисленную переменную? То, что я использую в настоящее время дает сообщение об ошибке:Как преобразовать вход сканера в целое число?
Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.valueOf(Unknown Source)
at diDecryption.Didecryption.main(Didecryption.java:226)
И это код, я использую, чтобы сделать это (кусочки, это часть более крупной программой):
System.out.println("Enter first number");
Scanner sc=new Scanner(System.in);
String name=sc.next();
int result = Integer.valueOf(name);
if (result/2 == 1){
System.out.println("a");
Целью программы является декодирование зашифрованного сообщения. Ввод является числовым, и если я удалю строку в int-конвертер, деление не будет работать. Как это исправить?
Ваш код отлично работает для меня, если я дам ему номер. Что именно вы предоставляете в качестве входа в систему? (Сообщение об ошибке, которое вы указали, указывает, что вы пытаетесь разобрать «null») – azurefrog
Что вы вводите? Код выглядит хорошо для меня. http://ideone.com/omNdEF –
Я сомневаюсь, что ваше сообщение об исключении соответствует вашему коду. Методы сканера не возвращают 'null'. Они выдадут исключение, если читать нечего. Пожалуйста, предоставьте [mcve]. – Tom