Я получаю исключение в числовом формате. Я не знаю почему.Исключение форматирования номера при принятии целого числа
int t;
t=Integer.parseInt(br.readLine());
Я получаю исключение в числовом формате. Я не знаю почему.Исключение форматирования номера при принятии целого числа
int t;
t=Integer.parseInt(br.readLine());
Вы должны сдать недопустимую строку parseInt
из метода BufferedReader.readLine()
. Этот метод is designed such that:
Символы в строке должны все быть десятичными цифрами, за исключением того, что первый символ может быть ASCII знак минус «-» («\ u002D»), чтобы указать отрицательное значение или ASCII плюс знак '+' ('\ u002B'), чтобы указать положительное значение.
Например:
-1
1
1.1
1\r\n
(1 с последующим символом новой строки)Вы можете попробовать позвонить trim()
на вывод bi.readLine()
или сначала проверить его на регулярное выражение, чтобы убедиться, что оно действительно содержит допустимое строковое представление целого числа.
Убедитесь, что нет нулевых нулей и что строка содержит только одно целое число.
int t = Integer.parseInt(br.readLine().trim());
Вы получаете это, потому что строка, прочитанная внутри, не является int. Пожалуйста, покажите сообщение об исключении stacktrace, и он скажет вам, почему, поскольку он скажет вам, что такое String, что вы пытаетесь проанализировать. –
Я думаю, что это может быть не по теме, потому что его можно решить с помощью базовой отладки. Сохраните ввод с консоли в переменной и посмотрите на ее значение, прежде чем пытаться ее проанализировать, вы скоро узнаете, что пошло не так. Этот вопрос мало ценит будущих читателей. –