import java.util.Arrays();
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int[] scores={89,-23,64,91,119,52,73};
System.out.println("考试成绩前三名为:");
HelloWorld hello=new HelloWorld();
hello.zzz(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void zzz(int[] scores){
Arrays.sort(scores);
int sss;
for(int i=scores.length-1;i>=0;i++){
if(scores[i]<0||scores[i]>0){
continue;
}sss++;
if(sss>3){
break;
}
}System.out.println(scores[i]);
}
}
两个问题:
sss没有赋初值
if(scores[i]<0||scores[i]>0)这个判断只有scores等于0的时候才不会执行continue,所以>0那个不用了
for(int i=scores.length-1;i>=0;i++)这里应该是i--
还有i++,你是从后往前看 所以应该是i--
if(scores[i]<0||scores[i]>0)应该是大于100;
int sss;
sss应该初始化为0;
}System.out.println(scores[i]);
因为你是输出前三名的成绩 所以需要一个一个输出,应该放在for循环里