为什么不能用 语句一?语句二:语句三;

来源:6-6 编程练习

任性未来

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);         );


写回答 关注

5回答

  • 51cds
    2015-12-06 23:27:21
    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;

    最后,你的代码结束有个");"是几个意思???

  • 51cds
    2015-12-06 23:22:59

    你的逻辑并没有错

    1. 如果“表达式a”成立就执行 “表达式b”否则就执行 “表达式c,并返回运算结果

    2. 需接收或处理返回结果否则程序报错,且表达式(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”为空


  • 任性未来
    2015-12-06 19:29:54


    回复51cds:

    max>muns[i]?:max=unms[i];

    如果“表达式a”成立就执行 “表达式b”否则就执行 “表达式c”

     我的逻辑并没有错,但是执行不了, http://img.mukewang.com/56641b0e0001203b06070032.jpg

    你这个应该也会出错吧,后面应该加括号吧max=(max>muns[i]?:max=unms[i]);


  • 51cds
    2015-12-04 23:34:36

    语句错误

    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:你所说的 "语句一?语句二:语句三" 是错的,正确的格式应该是 “表达式一?表达式二:表达式三”。

    任性未来

    http://img.mukewang.com/56641b0e0001203b06070032.jpg 你这个应该也会出错吧,后面应该加括号吧max=(max>muns[i]?:max=unms[i]);

    2015-12-06 19:31:02

    共 1 条回复 >

  • HansonQ
    2015-12-04 21:43:19
    //建议看下三目运算符的用法
    //基本格式
    //表达式A?表达式B:表达式C
    //A为true 则为B,否则为C
    min<nums[i]?:min=nums[i];


Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1167368 学习 · 18748 问题

查看课程

相似问题