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

找不到问题,求大神支援

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        int [] h={90,98,89,78,68,0};

        HelloWorld hello=new HelloWorld();

        int []g=hello.getScores(h);

        System.out.println("考试成绩的前三名为:");

        for(int d:g){

            System.out.println(d);

        }

        

    }

    

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

    public int[] getScores(int[]a){

        int []b=Arrays.sort(a);

        int []c=new int[3];

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

            if(b[i]<100&&b[i]>0)

            c[i]=b[i];

            else

            c[i]=0;

        }

       return c; 

    }

}

http://img1.sycdn.imooc.com//577e43060001144d07570567.jpg

正在回答

2 回答

你根本没按提示做按。。。

package com.helloworld;
import java.util.Arrays;
public class HelloWorld {
  
   //完成 main 方法
   public static void main(String[] args) {
       int[] scores={89,-23,64,91,119,52,73};
       HelloWorld hello=new HelloWorld();
       hello.max(scores);  
   }
   
   //定义方法完成成绩排序并输出前三名的功能
   public void max(int scores[]){
       //nums是用来看是否到了3个
       int i,nums=0;
       //将scores数组升序排序
       Arrays.sort(scores);
       //使用 for 循环遍历数组中的元素,由于要输出的是前三名成绩,所以从后往前遍历,即倒序遍历
       for ( i = scores.length - 1; i >= 0; i-- ) { 
           //如果数字不符合条件,continue跳过循环
           if(scores[i]<0||scores[i]>100){
               continue;
           }
           nums=nums+1;
           System.out.println(scores[i]);
           if(nums>=3){
               break;
           }
           }
       
       
   }

这是我的方法,希望采纳。

0 回复 有任何疑惑可以回复我~
public class HelloWorld {
    
    //完成 main 方法
    public static void main(String[] args) {
        int[] scores = new int[]{89,-23,64,91,119,52,73};
        sortArray(scores);
    }
    
    //定义方法完成成绩排序并输出前三名的功能
    
    public static void sortArray(int[] arr){
        int temp = 0;
        for(int i = 0 ; i< arr.length; i++){
           if(arr[i]<0 || arr[i] > 100 ){
                arr[i] = 0;
            }
        }
        for(int i = 0 ; i < arr.length;i++){
            for (int j = i + 1 ; j < arr.length ; j++){
                if(arr[i]<arr[j]){
                    temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        for(int i = 0 ; i< arr.length; i++){
            if(i < 3 )
                System.out.println(arr[i]);
        }
    }
}

这是我写的答案,可能有点小麻烦吧,你可以看一下。如果不是因为不知道怎么写,而是因为不知道你的为什么会出现问题的话,可以私聊我,我帮你解释一下。

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

举报

0/150
提交
取消

找不到问题,求大神支援

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