​为什么会出现Exception in thread "main" java.lang.NullPointerException

package demo;
import java.util.Scanner;

public class DEMO1002 {
	 static int N,i,max,min;
	 static int a[];
	 
	public static void main(String[] args){
		System.out.println("请输入数据!");
		Scanner input=new Scanner(System.in);
		N=input.nextInt();
		for(int i=0;i<N;i++){			 
			   a[i]=input.nextInt();
			if(a[i]<a[i+1]){
				max=a[i+1];
				min=a[i];
			}		
		}		   			
		System.out.println("这组数据中最大值为:"+max+"  这组数据中最小值为:"+min);
	}
 
}


WentworthPeach
浏览 1607回答 3
3回答

慕粉13431556588

int a[] 数组的长度是固定的 而且是不能改变的,你这里的数组一开始是需要给定长度 才行 

Yexiaomo

问题出在:   for 循环中的 if 判断条件, 因为 在第一次输入数据时:a[i] 可能会有值,  ( a[i] 也就是 a[0] )但是 a[i+1] 一定不会有值 , 里面是 null , ( a[i+1] 也就是 a[1] )所以程序一旦运行 就会出现 null 异常

蜂之谷

a没有初始化
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java