Java 获取NumberFormatException:对于输入字符串:"&引用;,在将输入解析为数组时
然后我得到:Java 获取NumberFormatException:对于输入字符串:"&引用;,在将输入解析为数组时,java,parsing,numberformatexception,Java,Parsing,Numberformatexception,然后我得到: 33 -55 -44 12312 2778 -3 -2 53211 -1 44 0 我不明白为什么它在我输入时接受输入,而在我尝试粘贴时却不接受输入 我在谷歌上查到这个问题,它提出了这个解决方案:,但我的代码没有这个错误,所以我不知道它是什么 您正在用以下内容阅读空行: Exception in thread "main" java.lang.NumberFormatException: For input string: "" at java.lang.N
33
-55
-44
12312
2778
-3
-2
53211
-1
44
0
我不明白为什么它在我输入时接受输入,而在我尝试粘贴时却不接受输入
我在谷歌上查到这个问题,它提出了这个解决方案:,但我的代码没有这个错误,所以我不知道它是什么 您正在用以下内容阅读空行:
Exception in thread "main" java.lang.NumberFormatException:
For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65).
问题似乎不在于代码,而在于输入。
另一点是,您正在从System.in读取数据,如果您意外地按了一个额外的enter键,将引发异常
看看发生了什么:
有什么方法可以让我解决输入问题吗?这是学校作业,所以我必须让我的程序在输入的范围内工作。潜在的“好消息”是,出于某种原因,异常停止抛出,但现在存储到数组中的所有内容(当我复制并粘贴垂直输入时)都是0。这是因为,在java中,创建新数组时,所有int值都是0。由于您没有修改数组arrayOfInputs,它将保留0。要使用空行绕过输入,您可以尝试跳过一些行,例如偶数行。或者您可以验证行的长度、字符串本身、您读取的内容或与已知的无效形式进行比较…现在它是逻辑..如果(line.isEmpty()){continue;}可能也有帮助,请注意这里的逻辑有点模糊。数组是在循环外部声明的,您总是在0位置开始写入数组。(这可能是正确的,我不知道你想要实现什么)。但若你们总是从零开始,对于你们读的每一行,巫婆只包含一个数字,你们将得到99个零。。
Exception in thread "main" java.lang.NumberFormatException:
For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65).
String line = BR.readLine();
String [ ] splittingThem = line.trim().split(" ");