这个简单的JAVA小问题,求大佬解答!
这个简单的JAVA小问题,求大佬解答!这条语句,为什么不能执行,有没有它都一样,怎么才能让他发挥自己的作用。...
这个简单的JAVA小问题,求大佬解答!这条语句,为什么不能执行,有没有它都一样,怎么才能让他发挥自己的作用。
展开
2018-05-11 · 知道合伙人软件行家
关注
展开全部
代码修改如下:
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);
}
}
运行截图:
展开全部
因为你的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
展开全部
代码看不清,百度知道里面,可以直接发代码的,看你的代码结构是会走那一行的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a[j]=scanner.nextDouble(); 这句放前面吧,要不每个值都是0,没比较意义
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先赋值在运算 把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);
}
}
这个最小值为什么输不出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询