这个简单的JAVA小问题,求大佬解答!

这个简单的JAVA小问题,求大佬解答!这条语句,为什么不能执行,有没有它都一样,怎么才能让他发挥自己的作用。... 这个简单的JAVA小问题,求大佬解答!这条语句,为什么不能执行,有没有它都一样,怎么才能让他发挥自己的作用。 展开
 我来答
windblast
2018-05-11 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13624
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

代码修改如下:

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<a[j])
                max=a[j];
            if(min>a[j])
                min=a[j];
            sum+=a[j];
        }

        sum1 = sum-max-min;
        System.out.println("去掉最高" + max + ",最低分"+min+", 平均分为"+sum1/8);


    }

}

运行截图:

百度网友caaf85b
2018-05-11 · TA获得超过137个赞
知道答主
回答量:55
采纳率:33%
帮助的人:11.6万
展开全部

因为你的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);
更多追问追答
追问
那个tmp是什么,用数组不也一样吗,还有,我最后让求去掉一个最大值和一个最小值,怎么写
追答

变量tmp是每次接收控制台输入的分数。

double avg = (sum - max - min) / 10;//就得到去掉最大值和最小值后的平均分了

用数组确实也可以,但是存储了许多无用的数据,并不是说不能用。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-05-11
展开全部
代码看不清,百度知道里面,可以直接发代码的,看你的代码结构是会走那一行的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xdyuan33333
2018-05-11 · 超过78用户采纳过TA的回答
知道小有建树答主
回答量:164
采纳率:70%
帮助的人:73.8万
展开全部
a[j]=scanner.nextDouble();  这句放前面吧,要不每个值都是0,没比较意义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Moon_Ten
2018-05-11 · TA获得超过144个赞
知道小有建树答主
回答量:138
采纳率:86%
帮助的人:43.1万
展开全部
先赋值在运算 把a[j]=scanner.nextDouble();这句提 到两个判断前。
更多追问追答
追问
for(int j=0;ja[j]) 
{min=a[j];}

sum+=a[j];

}

sum=sum-max-min;
System.out.println("去掉最高最低分后的平均分为:"+sum);
System.out.println("最大:"+max);
System.out.println("最小:"+min);
}
}
这个最小值为什么输不出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式