java小白求大神指導(dǎo)。。求考試前三名成績。。
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 對數(shù)據(jù)進行的是升序排序,從小到大排列,所以你在輸出成績是要倒過來輸出,從數(shù)組最后一個元素開始輸出
2016-12-01
你聲明Arrays2時,使用int [] Arrays2=new int[] {0}; 這樣Arrays2是個只有一個元素的數(shù)組,后面無法賦值,你應(yīng)該聲明為int [] Arrays2=new int[Arrays1.length] ; (JAVA對于聲明的變量默認值都是0,所以不用在特意賦值為0)