我已尽力尝试这一切,但我仍然无法找到任何解决方案,这是错误,我试图改变第16行中的空值,但是无济于事,我是一个新的Java程序员,所以我没有太多使用这种语言的经验,所有帮助赞赏!
线程“main”java.lang.NumberFormatException中的异常:在DebugEight4.main的java.lang.Integer.parseInt(Integer.java:527)的java.lang.Integer.parseInt(Integer.java:454)中为null (DebugEight4.java:11)
import javax.swing.*;
public class DebugEight4
{
public static void main(String[] args)
{
int x = 0, y;
String array[] = new String[100];
String entry;
int i = Integer.parseInt(array[1]);
final String STOP = "XXX";
StringBuffer message = new
StringBuffer("The words in reverse order are\n");
entry = JOptionPane.showInputDialog(null,
"Enter any word\n" +
"Enter " + STOP + " when you want to stop");
while(!(entry.equals(STOP)))
{
array[x] = entry;
x++;
entry = JOptionPane.showInputDialog(null,
"Enter another word\n" +
"Enter " + x + " when you want to stop");
}
for(y = 0; y > 0; ++y)
{
message.append(array[y]);
message.append("\n");
}
JOptionPane.showMessageDialog(null, message);
}
}
答案 0 :(得分:1)
除空字符串外,数组中没有任何内容。
String array[] = new String[100];
//...
int i = Integer.parseInt(array[1]);
无法将空字符串解析为整数。
例如:
String array[] = new String[100]; <<-- Create an array of empty string
array[1] = "1"; <<-- set second item in array to a parseable value
int i = Integer.parseInt(array[1]); <<-- Parse the value out
答案 1 :(得分:0)
错误是由以下代码引起的:
int i = Integer.parseInt(array[1]);
在您的代码中,您只需声明String数组,如下所示。但是数组中的所有元素都为null。
String array[] = new String[100];
请先启动它们。
实际上,变量i不在上下文中使用,所以只需删除代码“int i = Integer.parseInt(array [1]);”。
我不认为for循环的以下代码是正确的。阻止它的唯一方法是索引超出数组的范围。
for(y = 0; y > 0; ++y)
{
message.append(array[y]);
message.append("\n");
}