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]);
?}
}
}
2016-12-01
啊,還忘了一點,Arrays.sort 對數據進行的是升序排序,從小到大排列,所以你在輸出成績是要倒過來輸出,從數組最后一個元素開始輸出
2016-12-01
你聲明Arrays2時,使用int [] Arrays2=new int[] {0}; 這樣Arrays2是個只有一個元素的數組,后面無法賦值,你應該聲明為int [] Arrays2=new int[Arrays1.length] ; (JAVA對于聲明的變量默認值都是0,所以不用在特意賦值為0)