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键,将引发异常

看看发生了什么:

  • 如果行为“”

  • 然后line.trim().split(“”)仍将有一个元素。 拆分它们。长度=>1

  • 这将使您进入循环并解析“”->异常


  • 有什么方法可以让我解决输入问题吗?这是学校作业,所以我必须让我的程序在输入的范围内工作。潜在的“好消息”是,出于某种原因,异常停止抛出,但现在存储到数组中的所有内容(当我复制并粘贴垂直输入时)都是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(" ");