Мне нужно ввести произвольное количество чисел от 0 до 500, как только возвращение будет пустой строкой, мне нужно выйти из цикла и выполнить некоторые вычисления с входами. Вот мой код до сих пор:Выход из цикла, используя нуль
String test = "";
while(test != null){
String[] inputs = br.readLine().split("\\s+");
inputs[0] = test;
if (test != null){
inputs2[i] = Integer.parseInt(inputs[0]);
StatsPackage.inputs[i] = Integer.parseInt(inputs[0]);
}
i++;
}//end of while loop
Здесь ошибка я получаю:
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at StatsPackage.main(StatsPackage.java:84)
Line 84 заключается в следующем:
inputs2[i] = Integer.parseInt(inputs[0]);
какие-либо идеи?
'Integer.parseInt (" ");' это то, что вы делаете, вы всегда получите исключение для этого, потому что 'test' никогда не менялся – silentprogrammer
Check [Разница между пустой и пустой (" ") строкой Java] (http: //stackoverflow.com/questions/4802015/difference-between-null-and-empty-java-string) – sam
Я хотел бы понять цель вашего кода, поскольку тот факт, что вы не понимали разницы между ' empty' и 'null', плюс использование переменной' input2', заставляет меня думать, что есть намного лучшие варианты дизайна, которые вы все еще не знаете как новичок (?), и это сделает ваш код намного лучше. – XenoRo