2015-12-18 3 views
0

Добрый день, мне в настоящее время нужна помощь. Проблема в том, что я перешел на новую IDE, которая является JCreator, у меня проблемы с вводом моей программы.jcreator enter и numberformatexception

Программа проста, ей просто нужно хранить два входа целого на две разные переменные, программа работает без исключений, если я выполняю ее на других IDE и командной строке, но в JCreator есть исключение который возникает, когда я ввожу второй номер

Мне нужна помощь, я не могу переключать IDE по личным причинам, я пробовал использовать метод trim(), но исключение все еще происходит, что мне делать?

Спасибо заранее и больше мощности

import java.io.*; 

public class InputError{ 
    public static void main(String [] args)throws IOException{ 
     BufferedReader x = new BufferedReader(new InputStreamReader(System.in)); 

     int firstNumber = Integer.parseInt(x.readLine()); 
     int secondNumber = Integer.parseInt(x.readLine()); 

    } 
} 

Exception части:

--------------------Configuration: TrialAgain - JDK version 1.8.0_66 <Default> - <Default>-------------------- 
1 
19 

Exception in thread "main" java.lang.NumberFormatException: For input string: "" 
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 
    at java.lang.Integer.parseInt(Integer.java:592) 
    at java.lang.Integer.parseInt(Integer.java:615) 
    at InputError.main(InputError.java:8) 

Process completed. 
+0

есть причина, почему вы не используете класс Scanner? –

+0

Я хочу участвовать в конкурсе на локальное программирование, а версия jdk не указана, я хочу использовать более раннюю версию jdk, конкретно jdk 1.4.3, чтобы убедиться, что сканер был недоступен, но, надеюсь, jdk, который будет использоваться, несколько новее, как 8, чтобы я мог использовать другие методы сбора ввода в программе –

ответ

0

По какой-то причине JCreator берет дополнительный вход из буфера. Одним из решений является печать дополнительной строки сразу после readLine().

BufferedReader x = new BufferedReader(new InputStreamReader(System.in)); 
String s = x.readLine(); 
System.out.println(); 
int firstNumber = Integer.parseInt(s); 
s = x.readLine(); 
System.out.println(); 
int secondNumber = Integer.parseInt(s); 
0

TRY:

import javax.swing.*; 

public class InputError{ 
public static void main(String [] args){ 

    string B = JOptionPane.showInputDialog("first number"); 
    int b=Integer.parseInt(B); 
    string A = JOptionPane.showInputDialog("second number"); 
    int a= Integer.parseInt(A); 
    } 
}