我正在编写一个程序,该程序将采用多个数字并按升序显示它们,然后按降序显示。当我尝试将输入分配给数组时,我得到一个空指针异常,我不知道为什么。任何帮助将不胜感激。
这是我的代码:
static int[] numbers;
public static void main(String[] args) {
int i=0;
while(i<50)
{
String input = JOptionPane.showInputDialog("Enter any number or type X to exit");
System.out.println(input);
if(input.equals("X"))
{
break;
}
numbers[i]=Integer.parseInt(input);//This is where i get the exception
i++;
}
答案 0 :(得分:0)
您尚未实例化numbers
。你需要这样做:
numbers = new int[50];
在方法开始时。
但是,实际上最好使用允许动态调整大小的ArrayList<Integer>
而不是固定大小的数组。你会这样做:
List<Integer> numbers = new ArrayList<Integer>();
...
numbers.add(Integer.parseInt(input));
如果您向数组中添加超过50个数字,这将不会导致问题,这是一个固定大小的数组。