Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“线程中的异常”;AWT-EventQueue-1“;java.lang.NumberFormatException_Java_Applet_Drawimage - Fatal编程技术网

“线程中的异常”;AWT-EventQueue-1“;java.lang.NumberFormatException

“线程中的异常”;AWT-EventQueue-1“;java.lang.NumberFormatException,java,applet,drawimage,Java,Applet,Drawimage,我的小程序有这个问题。在产生错误之前,它只绘制一行 这是我的密码: 错误如下:看起来像是dan.txt在零之前包含一个额外的换行符。看起来像dan.txt在零之前包含一个额外的换行符。只需将行38更改为: int line = Integer.parseInt(src.next().trim()); 这将删除导致代码错误的数字字符串中的任何空白。只需将第38行更改为: int line = Integer.parseInt(src.next().trim()); 这将从导致代码中出现错误的数

我的小程序有这个问题。在产生错误之前,它只绘制一行

这是我的密码:


错误如下:

看起来像是
dan.txt
在零之前包含一个额外的换行符。

看起来像
dan.txt
在零之前包含一个额外的换行符。

只需将行
38
更改为:

int line = Integer.parseInt(src.next().trim());

这将删除导致代码错误的数字字符串中的任何空白。

只需将第38行更改为:

int line = Integer.parseInt(src.next().trim());

这将从导致代码中出现错误的数字字符串中删除任何空格。

看起来您的扫描仪没有使用空格作为分隔符,并且
Integer.parseInt(src.next())在它找到的第一个换行符上阻塞


您可以尝试类似于
src.useDelimiter(“[,\\s]+”)
的方法来使用一个或多个空格和逗号字符的任何分组作为分隔符。

看起来您的扫描仪没有使用空格作为分隔符,
Integer.parseInt(src.next())在它找到的第一个换行符上阻塞


您可以尝试使用类似于
src.useDelimiter(“[,\\s]+”)
的方法来使用一个或多个空格和逗号字符的任何分组作为分隔符。

以下是调试此问题的方法:

自下而上阅读堆栈跟踪,注意Java源文件开始显示的位置。就你而言:

Inventory.paint(Inventory.java:51)
现在,您可以开始使用几种不同的方法调试这一行。首选的方法是将调试器附加到正在运行的程序实例上,并查看这一行发生了什么。如果不能这样做,只需添加一个try-catch块来捕获该行代码周围的异常,并打印出实际值和预期值

Exception in thread "AWT-EventQueue-1" java.lang.NumberFormatException: For inpu
t string: "
0"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.
java:48)
        at java.lang.Integer.parseInt(Integer.java:449)
Tile0   at java.lang.Integer.parseInt(Integer.java:499)

        at Inventory.paint(Inventory.java:51)  <===== Your code shows up!
        at sun.awt.RepaintArea.paintComponent(RepaintArea.java:248)
        at sun.awt.RepaintArea.paint(RepaintArea.java:224)
        at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:306)
        at java.awt.Component.dispatchEventImpl(Component.java:4706)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
Row: 1 successfully painted.
线程“AWT-EventQueue-1”java.lang.NumberFormatException中的异常:用于inpu t字符串:“ 0" 在java.lang.NumberFormatException.forInputString(NumberFormatException。 爪哇:48) 位于java.lang.Integer.parseInt(Integer.java:449) java.lang.Integer.parseInt处的Tile0(Integer.java:499)
在Inventory.paint(Inventory.java:51)中,您可以开始调试这个问题:

自下而上阅读堆栈跟踪,注意Java源文件开始显示的位置。就你而言:

Inventory.paint(Inventory.java:51)
现在,您可以开始使用几种不同的方法调试这一行。首选的方法是将调试器附加到正在运行的程序实例上,并查看这一行发生了什么。如果不能这样做,只需添加一个try-catch块来捕获该行代码周围的异常,并打印出实际值和预期值

Exception in thread "AWT-EventQueue-1" java.lang.NumberFormatException: For inpu
t string: "
0"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.
java:48)
        at java.lang.Integer.parseInt(Integer.java:449)
Tile0   at java.lang.Integer.parseInt(Integer.java:499)

        at Inventory.paint(Inventory.java:51)  <===== Your code shows up!
        at sun.awt.RepaintArea.paintComponent(RepaintArea.java:248)
        at sun.awt.RepaintArea.paint(RepaintArea.java:224)
        at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:306)
        at java.awt.Component.dispatchEventImpl(Component.java:4706)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
Row: 1 successfully painted.
线程“AWT-EventQueue-1”java.lang.NumberFormatException中的异常:用于inpu t字符串:“ 0" 在java.lang.NumberFormatException.forInputString(NumberFormatException。 爪哇:48) 位于java.lang.Integer.parseInt(Integer.java:449) java.lang.Integer.parseInt处的Tile0(Integer.java:499)
在Inventory.paint(Inventory.java:51)这里是dan.txt 0,1,2,3,4,2,3,0,1,2,3,4,2,3,0,1,2,3,3,3,3,0,1,2,3,4,2,2,3,3,0,1,3,3,3,0,1,2,3,3,3,0,1,2,3,3,3,3,0,1,2,3,3,3,3,我不这么认为\这里是dan.txt 0,1,2,3,4,2,3,3,0,1,2,3,4,2,3,3,0,1,2,3,3,0,1,2,3,4,2,2,3,3,0,1,2,3,0,2,3,3,0,1,2,3,2,3,3,0,1,2,4,2,3,3,3,我不这么认为\@丹:没问题,很乐意帮忙。@丹:没问题,很乐意帮忙。