第一季8-1练习题,在方法中,我想先用for循环先把有效成绩弄出来,然后输出最高的三个成绩,可是为什么我的有效成绩里还有119,而且出现了两个91?请教大神,谢谢
package packageimooc1;
//导入java.util包中的Arrays类
import java.util.Arrays;
public class Helloworld {
public static void main(String[] args){
//传入数组
int scores[]={89,-23,64,91,119,52,73};
// 创建对象,对象名为hello
Helloworld hello = new Helloworld();
//调用方法,并传入实参
hello.topthree(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void topthree(int scores[]){
//排序
Arrays.sort(scores);
//判断数组的有效性
int j=0;
for(int i=0;i<scores.length;i++){
if((scores[i]>0)&&(scores[i]<100)){
scores[j]=scores[i];j++;
}
else continue;
}
System.out.println(Arrays.toString(scores));
}
}