任性未来
2015-12-04 21:16
int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };
int max = 0; // 假定最大值为数组中的第一个元素
int min = 0; // 假定最小值为数组中的第一个元素
double sum = 0;// 累加值
double avg = 0;// 平均值
for (int i = 0; i <6; i++) {
max>nums[i]?max=max:max=nums[i];
// 循环遍历数组中的元素
// 如果当前值大于max,则替换max的值
min<nums[i]?:min=nums[i];
sum=sum+nums[i];
i==5?avg=sum/6:i=1;
// 如果当前值小于min,则替换min的值
// 累加求和
}
// 求平均值
System.out.println("数组中的最大值:" + max);
System.out.println("数组中的最小值:" + min);
System.out.println("数组中的平均值:" + avg); );
int max = 0; // 假定最大值为数组中的第一个元素 int min = 0; // 假定最小值为数组中的第一个元素
建议将这两句语句改成
int max=nums[0]; int min=nums[0];
将代码
i==5?avg=sum/6:i=1;
删除,并在
System.out.println("数组中的最大值:" + max);
前,加上
avg=sum/6;
最后,你的代码结束有个");"是几个意思???
你的逻辑并没有错
如果“表达式a”成立就执行 “表达式b”否则就执行 “表达式c,并返回运算结果
需接收或处理返回结果否则程序报错,且表达式(a,b,c)不能为空,没加括号不影响执行。
在你的代码中
max>nums[i]?max=max:max=nums[i]; min<nums[i]?:min=nums[i]; i==5?avg=sum/6:i=1;
第一句没接收计算结果,第二句“表达式b”为空
回复51cds:
max>muns[i]?:max=unms[i];
如果“表达式a”成立就执行 “表达式b”否则就执行 “表达式c”
我的逻辑并没有错,但是执行不了,
你这个应该也会出错吧,后面应该加括号吧max=(max>muns[i]?:max=unms[i]);
语句错误
max>nums[i]?max=max:max=nums[i]; min<nums[i]?:min=nums[i]; i==5?avg=sum/6:i=1;
第一句应改成
max=max>nums[i]?max:nums[i];
后两句也一样
ps:你所说的 "语句一?语句二:语句三" 是错的,正确的格式应该是 “表达式一?表达式二:表达式三”。
//建议看下三目运算符的用法 //基本格式 //表达式A?表达式B:表达式C //A为true 则为B,否则为C min<nums[i]?:min=nums[i];
Java入门第一季(IDEA工具)升级版
1167368 学习 · 18748 问题
相似问题