代码修改如下:
import java.util.Scanner;
public class zbx {
public static void main(String[] args){
System.out.println("kkk");
double[] a= new double[10];
double sum = 0;
double max = 0;
double min = 100;
double sum1 = 0;
Scanner sc = new Scanner(System.in);
System.out.println("输入10个分数");
for(int j=0;j<10;j++)
{
a[j]= sc.nextDouble();
if(max max=a[j];
if(min>a[j])
min=a[j];
sum+=a[j];
}
sum1 = sum-max-min;
System.out.println("去掉最高" + max + ",最低分"+min+", 平均分为"+sum1/8);
}
}
运行截图:
因为你的max和min都是等于0,+max-min相当于没有变化。图片有点不清晰,看起来是这样,如果是求平均分的话,不需要sum1这个变量,也不需要定义a这个数组。
double sum = 0;
for(int i = 0; i < 10; i++){
sum += scanner.nextDouble();
}
System.out.println("平均分为:" + (sum / 10));
如果需要得到最大值和最小值
double sum = 0;
double max = 0;
double min = 0;
double tmp = 0;
for(int i = 0; i < 10; i++){
tmp = scanner.nextDouble();
if(tmp > max){
max = tmp;
}
if(tmp < min){
min = tmp;
}
sum += tmp;
}
System.out.println("平均分为:" + (sum / 10));
System.out.println("最大值为:" + max);
System.out.println("最小值为:" + min);
代码看不清,百度知道里面,可以直接发代码的,看你的代码结构是会走那一行的。
a[j]=scanner.nextDouble(); 这句放前面吧,要不每个值都是0,没比较意义
先赋值在运算 把a[j]=scanner.nextDouble();这句提 到两个判断前。