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

这样可好?

import java.util.Arrays;

public class HelloWorld {
   
    //完成 main 方法
    public static void main(String[] args) {
        int[] scores={89,-23,64,91,119,52,73};
        show_All(scores);
               
       
    }
   
    //定义方法完成成绩排序并输出前三名的功能
    public static void show_All(int[] array){
        Arrays.sort(array);
        int count=0;
        System.out.println("考试成绩的前三名为:");
        for(int i=array.length-1;i>=0;i--){
            if(count==3)
                return;
            if(array[i]>=0 && array[i]<=100){
                System.out.println(array[i]);
                count++;
            }
        }
       
    }                 
}

正在回答

1 回答

完全可以,但是没有体现java的面向对象思想。还有注意代码规范额,下面是我的代码(因为考虑到分数相同的问题,所有有点长- -。)
import java.util.ArrayList;
import java.util.Arrays;

public class HelloWorld {
 private static int scores[] = { 89, -23, 64, 91, 119, 52, 73, 89 };
 private static int top3Num = 0;

 public static void main(String[] args) {
  HelloWorld hw = new HelloWorld();
  System.out.println("考试前3名为:");
  hw.showTop3(hw.getTop3(scores));
 }

 // 定义方法获取装有前3名的ArrayList

 private ArrayList<Integer> getTop3(int array[]) {
  ArrayList<Integer> top3 = new ArrayList<Integer>();
  Arrays.sort(array);

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

   if (isValid(array[i]) && top3Num < 3) {
    top3.add(array[i]);

    if (top3.size() != 0
      && array[i - 1] != top3.get(top3.size() - 1)) {
     top3Num++;
    }
   }
  }

  return top3;

 }

 // 定义静态方法判断成绩是否有效
 
 private static boolean isValid(int i) {
  if (i < 0 || i > 100) {
   return false;
  } else {
   return true;
  }
 }

 // 定义方法遍历打印ArrayList历
 
 private void showTop3(ArrayList<Integer> list) {

  for (int i = 0; i < list.size(); i++) {
   System.out.println(list.get(i));
  }
 }

}


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

碣石牛头大王 提问者

非常感谢!
2015-08-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165202    人
  • 解答问题       17581    个

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

进入课程

这样可好?

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