java小白求大神指导。。求考试前三名成绩。。

来源:7-1 编程练习

慕粉2127088350

2016-12-01 11:12

package com.imooc;
import java.util.Arrays;//引入Arrays类
public class Grade {
 public static void main(String[] arags){
int[]grades={89,-23,64,91,119,52,73};
 Grade grade=new Grade();
grade.compare(grades);
 }
public void compare(int[]Arrays1){
 int j=0;
 int[]Arrays2={0};
 for(int i=0;i<Arrays1.length;i++){
  while(Arrays1[i]>=1&&Arrays1[i]<=100){
   Arrays2[j++]=Arrays1[i];
  }
 }
 Arrays.sort(Arrays2);
 for(int k=0;k<3;k++){
  System.out.println("考试成绩前三名为:"+Arrays2[k]);
 }
}
}


写回答 关注

2回答

  • Nekoli
    2016-12-01 16:56:04
    已采纳

    啊,还忘了一点,Arrays.sort 对数据进行的是升序排序,从小到大排列,所以你在输出成绩是要倒过来输出,从数组最后一个元素开始输出

    慕粉2127... 回复Nekoli

    ok☺谢谢

    2016-12-01 20:45:04

    共 3 条回复 >

  • Nekoli
    2016-12-01 16:54:30

    你声明Arrays2时,使用int [] Arrays2=new int[] {0}; 这样Arrays2是个只有一个元素的数组,后面无法赋值,你应该声明为int [] Arrays2=new int[Arrays1.length] ; (JAVA对于声明的变量默认值都是0,所以不用在特意赋值为0)


Java入门第一季(IDEA工具)升级版

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

1165172 学习 · 17581 问题

查看课程

相似问题