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

这样子求成绩的前三名好不好?

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.qiansanming(scores);
        
        
        
    }
    
    //定义方法完成成绩排序并输出前三名的功能
    public void qiansanming(int[] scores){
        
        Arrays.sort(scores);
        System.out.println("考试成绩的前三名为:");
            int i=0;
            int j=1;
            for (;i<1 ;){
            if (scores[scores.length-j]>100||scores[scores.length-j]<0) {
                j++;
                continue;
            }
                i++;
                int num1=scores[scores.length-j];
                int num2=scores[scores.length-j-1];
                int num3=scores[scores.length-j-2];
                System.out.println(num1);
                System.out.println(num2);
                System.out.println(num3);
        }
    }
    
    
    
    
    
    
    
    
    
}


正在回答

1 回答

个人觉得这个代码的可读性比较差。理解起来略费劲。思想和下面的代码差不多。

import java.util.Arrays;

public class HelloWorld {

    // 完成 main 方法
	public static void main(String[] args) {
		int[] scores = { 89, -23, 64, 91, 119, 52, 79 };

		System.out.println(" 本次考试前三名是:");
		HelloWorld hello = new HelloWorld();
		hello.big3(scores);
	}

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

	public void big3(int[] scores) {
		Arrays.sort(scores);
		int num = 0;
		for (int i = scores.length - 1; i >= 0 && num < 3; i--) {
			if (scores[i] < 0 || scores[i] > 100)
				continue;
			num++;
			System.out.println(scores[i]);
		}
	}

}

注:代码来源于课程下面的《同学代码》

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

白马少年醉春风 提问者

谢了 谢谢你帮我找到问题所在 就是可读性不好和理解费劲,看来我要多注意改一下写程序的思路了.
2016-01-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这样子求成绩的前三名好不好?

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