1

我已经尝试了所有可能的方法,但我仍然找不到任何解决方案,这是错误,我试图更改第 16 行中的 null 等但无济于事,而且我是一个新的 Java程序员,所以我没有太多使用这种语言的经验,感谢所有帮助!

线程“主”java.lang.NumberFormatException 中的异常:在 DebugEight4.main(DebugEight4.爪哇: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);
 }
}
4

2 回答 2

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
于 2013-11-08T02:19:20.410 回答
0

该错误是由以下代码引起的:

 int i = Integer.parseInt(array[1]);

在您的代码中,您只需声明 String 数组,如下所示。但是数组中的所有元素都是空的。

 String array[] = new String[100];

请先初始化它们。

实际上,变量 i 并没有在上下文中使用,所以只需删除代码“int i = Integer.parseInt(array[1]);”。

而且我认为以下 for-loop 代码不正确。阻止它的唯一方法是索引超出数组的范围。

for(y = 0; y > 0; ++y)
{
 message.append(array[y]);
 message.append("\n");
}
于 2013-11-08T02:18:52.133 回答