为了账号安全,请及时绑定邮箱和手机立即绑定

请问老师,我在进行比较max; min排序找出最大值和最小值的时候,可不可以使用三目运算代替if判断?

public class HelloWorld {

    

    public static void main(String[] args) {

        

// 定义一个整型数组,并赋初值

int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };

        

int max = nums[0]; // 假定最大值为数组中的第一个元素

int min = nums[0]; // 假定最小值为数组中的第一个元素

double sum = 0;// 累加值

double avg = 0;// 平均值

        

for (int i = 0; i < nums.length; i++) { // 循环遍历数组中的元素

        // 如果当前值大于max,则替换max的值

nums[i]>max?max=nums[i]:max;

        //这里我想使用三目运算,前后对比应该可以返回布尔值判断,为什么报错呢?        

        

        // 如果当前值小于min,则替换min的值

        nums[i]<min?min=nums[i]:min;

        

        

        // 累加求和

        sum = sum + (double)nums[i];

        

}

        

        // 求平均值

       avg = sum / nums.length;

        

System.out.println("数组中的最大值:" + max);

System.out.println("数组中的最小值:" + min);

System.out.println("数组中的平均值:" + avg);

}

}

正在回答

2 回答

可以的,这样写

 // 如果当前值大于max,则替换max的值

        max=nums[i]>max?nums[i]:max;

        //这里我想使用三目运算,前后对比应该可以返回布尔值判断,为什么报错呢?        

        

        // 如果当前值小于min,则替换min的值

        min=nums[i]<min?nums[i]:min;

        


0 回复 有任何疑惑可以回复我~

嗯嗯,谢谢,后来发现了,是我忘记三目左边赋值了,语法错了,谢谢

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问老师,我在进行比较max; min排序找出最大值和最小值的时候,可不可以使用三目运算代替if判断?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信