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

r如果求最大值。我这个哪里错了?

import java.util.Arrays;

public class HelloWorld {

    public static void main(String[] args) {

        int [] scores={89 , -23 , 64 , 91 , 119 , 52 , 73};

        HelloWorld hello = new HelloWorld();    

            int maxs=hello.a();

    System.out.println(scores);

        

        

    }

    

    //定义方法完成成绩排序并输出前三名的功能

    public int a(){

        Arrays.sort(scores);

        int max=scores[0];

        for (int i=0;i<scores.length;i++){

           if(scores[i]>max){

               scores[i]=max;

           }

            }return maxs;

            }

            

        }


正在回答

3 回答

求最大值不用Arrays排序吧,for(int i=0,i<scores.length;i++)遍历数组,然后找出最大值赋值给max

for(int i=0,i<scores.length;i++){
  if(scores[i]>max){
   max=scores[i]
   }
}


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

慕斯9438618

排序以后应该更简单,我最开始也是这样考虑最大值,但是要第二名,第三名,这个循环就要复杂起来了。
2019-06-10 回复 有任何疑惑可以回复我~

import java.util.Arrays;

public class TestTen {

   public static void main(String[] args) {

        int [] scores={89 , -23 , 64 , 91 , 119 , 52 , 73};

        TestTen hello = new TestTen();    

        hello.a(scores);

    }

    //定义方法完成成绩排序并输出前三名的功能

    public void   a(int [] scores){  

    Arrays.sort(scores);

    int num = 0;       

        for (int i=scores.length-1;i>0;i--){ 

        num++;

        if(num>1){

        break;

        }

           System.out.println(scores[i]);         

            }

    }

}



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

Arrays.sort()本身就是对数组进行排名,你下面的for循环没必要,直接int max = scores[scores.length-1]就行,再有,你的main方法中最后输出scores是什么,你返回的是maxs,直接输出maxs就好了。

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

举报

0/150
提交
取消

r如果求最大值。我这个哪里错了?

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