qq_慕妹1351099
2019-08-02 17:54
Scanner input=new Scanner(System.in);//创建scanner对象
int[] nums=new int[5];
for(int j=1;j<=nums.length;j++) {
System.out.println("请输入第"+j+"次值");
nums[j]=input.nextInt();
}
int max=nums[0];//假设第一个值是最大的
int min=nums[0];//假设第二个值是最小的
double sum=0; //累加值
double adv=0; //平均值
for(int i=0;i<nums.length;i++) {//循环数组中的每一个数
if(nums[i]>max) { //判断数组的值是否比第一个大
max=nums[i];//如果数组的值比第一个大则代替这个数
}
else if(nums[i]<min) {//判断数组的值比min小
min=nums[i]; //如果数组的值比min小则代替这个数
}
sum=sum+nums[i]; //累加求和
}
adv=sum/nums.length;
System.out.println("平均值是:"+adv);
System.out.println("最大值是:"+max);
System.out.println("最小值是"+min);
}
数组下标越界异常
数组下标从0开始到数组长度减一结束
第一个for改成这样就ok了
for(int j=0;j<nums.length;j++) {
System.out.println("请输入第"+(j+1)+"次值");
nums[j]=input.nextInt();
}
数组5个空位 下标分别是0,1,2,3,4, 而你却要往不存在的下标5放东西
Java入门第一季(IDEA工具)升级版
1165550 学习 · 17586 问题
相似问题