求大神幫忙看看代碼??!
package com.H;
import java.util.Arrays;
public class HelloWorld
{
?public static void main(String[] args)
?{
??int scores[]={89,-23,64,91,119,52,73,99,88,77};
??int a[]=new int[10];
??Arrays.sort(scores);
??int num=0;
??for(int i=scores.length-1;i>=0;i--)
??{
???if(scores[i]>=0&&scores[i]<=100)
????a[num]=scores[i];
????num++;
???if(num==3)
????break;
??}
??for(int j=0;j<num;j++)
??{
???System.out.println(a[j]);
??}
?}
?
}
為什么運行結(jié)果?輸出來第一個數(shù)字是0呢!
2015-08-09
數(shù)組a創(chuàng)建時,默認(rèn)全是0。arrays.sort排序后是升序,在for循環(huán)中scores[9]=119,????if(scores[i]>=0&&scores[i]<=100)判斷為false, 沒有為a[0]賦值,仍然是a[0]=0, 然后num++,num=1.........將for循環(huán)加個{ }就OK了
即:
? for(int i=scores.length-1;i>=0;i--)
??{
???if(scores[i]>=0&&scores[i]<=100)
????{ ? ? ?a[num]=scores[i];
? ? ? ? ? ?num++; ? ? ?}
???if(num==3)
????break;
??}