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

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

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 回答

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

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

慕粉2127088350 提问者

谢谢你,解决了!还有个问题要请教,定义了数组长度后,在编码过程中,数组长度可以用length++或者length--这样的简洁方法改变吗?还是必须要重新定义一个数组
2016-12-01 回复 有任何疑惑可以回复我~
#2

Nekoli 回复 慕粉2127088350 提问者

不可以这样,但是如果你想要能任意数组的大小的话,可以使用动态数组。我只是知道有动态数组这个东西,具体怎么操作你可以自己查一下。
2016-12-01 回复 有任何疑惑可以回复我~
#3

慕粉2127088350 提问者 回复 Nekoli

ok☺谢谢
2016-12-01 回复 有任何疑惑可以回复我~

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


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

举报

0/150
提交
取消

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

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