int[] num = new int[] { 61, 23, 4, 74, 13, 148, 20 };
int min = num[0]; //设定第一个值最小
int max = num[num.length-1]; //设定最后一个值最大
double sum = 0;
double avg = 0;
for(int i=0; i<num.length; i++) {
if(num[i]<num[i++]) {
min=num[i];
}else {
max=num[i];
}
sum+=num[i];
avg=sum/num.length;
}
System.out.println("数组中的最大值:" + max);
System.out.println("数组中的最小值:" + min);
System.out.println("数组中的平均值:" + avg);
int max = num[num.length-1]; length-1 改成int max = num[4];不就行了吗
avg=sum/num.length要放到最后一个大括号的外面,不然你这句代码就被包括在循环中了
错在avg=sum/num.length;
num.length不能当做一个数来运算的,for里面是可以提取它的值用于比较而已
你可以定义一个变量用于记录总共有多少个数字
至于你说的为什么都要设置为num[0],是因为从第一个数开始往后比较,简便计算
int[] num ={ 61, 23, 4, 74, 13, 148, 20 };
int min = num[0];
int max = num[0];
double sum = 0;
double avg = 0;
Arrays.sort(num);
min= num[0];
max=num[num.length-1];
for (int i=0;i<num.length;i++) {
sum += num[i];
avg = sum / num.length;
}
System.out.println("数组中的最大值:" + max);
System.out.println("数组中的最小值:" + min);
System.out.println("数组中的平均值:" + avg);
int[] num = new int[] { 61, 23, 4, 74, 13, 148, 20 };
int min = num[0]; // 设定第一个值最小
int max = num[0]; // 设定最后一个值最大
double sum = 0;
double avg = 0;
for (int i = 0; i < num.length; i++) {
if (min > num[i]) {
min = num[i];
}
if (max < num[i]) {
max = num[i];
}
sum += num[i];
avg = sum / num.length;
}
System.out.println("数组中的最大值:" + max);
System.out.println("数组中的最小值:" + min);
System.out.println("数组中的平均值:" + avg);