总是提示下面的错误,是什么意思呢?还请同学们多多指教;
HelloWorld.java:25: 错误: 进行语法分析时已到达文件结尾
}
^
1 个错误
附上我的源码:
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
int[] scores = {89,-23,64,91,119,52,73};
hello.sort(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void sort(int[] scores){
Arrays.sort(scores);
int a = 0;
for(int i=scores.length;i>0;i--){
if(scores[i]>0 && scores[i]<100){
scores[a] = scores[i];
a++;
}
}
System.out.println("考试成绩的前三名为:");
for(int i=0;i<3;i++){
System.out.println(scores[i]);
}
}
for(int i=scores.length;i>0;i--)这个循坏体中应该int i=scores.length-1,因为数组下标是从0开始,而数组长度是从1开始,所以数组长度会比数组下标大1
错误提示主要是因为你在最后少了一个 };而你内部代码也有问题,sort排序是从小到大排的;帮你改了一下;你的思路挺不错的。
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
int[] scores = {89,-23,64,91,119,52,73};
hello.sort(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void sort(int[] scores){
Arrays.sort(scores);
int a = 0;
for(int i=0;i<scores.length;i++){
if(scores[i]>0 && scores[i]<100){
scores[a] = scores[i];
a++;
}
}
System.out.println("考试成绩的前三名为:");
for(int i=a-1;i>(a-4);i--){
System.out.println(scores[i]);
}
}
}