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 chang = new HelloWorld();
/*表明是一个新的类的对象*/
chang.showTop3(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void showTop3 (int[]scores){
Arrays.sort(scores);
int num=0;/*初始话最好为零,用来保存用户数值*/
for(int i =scores.length-1;i>=0;i-- ){
if(scores[i]<0||scores[i]>100){
continue;
}
num++;
if (num>3);
break;
}
System.out.println(scores[i]);
}
}
你错误的System.out.println(scores[i]);这行,是因为计算机没有抓取到Scores这个数组变量。说明你上面的数组名声明有问题,public void showTop3 (int[]scores)没有间隔
变量i 是在for 语句里面定义的,作用域就在for语句里面。出了for语句,变量i 就是未定义的
循环里的i不能拿出来用
把输出语句要放到循环里
public void showTop3 (int[]scores) 改为public void showTop3 (int[] scores)