import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int[] zong={89 , -23 , 64 , 91 , 119 , 52 , 73};
System.out.println("考试前三成绩为:");
HelloWorld hello=new HelloWorld();
hello.nvsua=(zong);}
public void nvsua(int[] zong ){
Arrays.sort(zong);
int you=0;
for(int i=zong.length;i>0;i++){
if(zong[i]<0||zong[i]<100){
continue;}
you++;
if(you==3){break;
}
System.out.println(zong[i]);}}}
看下那错了?
if(zong[i]<0||zong[i]<100)
这个范围也不对.应该是小于0 大于100才会出错.
for(int i=zong.length;i>0;i++) //这里数组的访问出错了,同时你的数组没有对成绩进行排序。
要对数组进行排序,然后从后往前(也可以说是从右往左)进行遍历数组的操作。
for(int i=zong.length-1; i>=0; i--) //这样修改正确,因为从右向左访问数组。 望采纳,祝你编程进步。