为了账号安全,请及时绑定邮箱和手机立即绑定

我的代码错误在哪?

总是提示下面的错误,是什么意思呢?还请同学们多多指教;

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]);

    }

}


正在回答

2 回答

for(int i=scores.length;i>0;i--)这个循坏体中应该int i=scores.length-1,因为数组下标是从0开始,而数组长度是从1开始,所以数组长度会比数组下标大1

0 回复 有任何疑惑可以回复我~
#1

coolgemen 提问者

非常感谢 1.少了},2.下标超出范围了,感谢
2016-02-16 回复 有任何疑惑可以回复我~
#2

阿慧 回复 coolgemen 提问者

互相学习嘛,嘿嘿,举手之劳
2016-02-17 回复 有任何疑惑可以回复我~

错误提示主要是因为你在最后少了一个 };而你内部代码也有问题,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]);

    }

    }

}


0 回复 有任何疑惑可以回复我~
#1

coolgemen 提问者

非常感谢你的帮助!~ ^-^
2016-02-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165458    人
  • 解答问题       17585    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

我的代码错误在哪?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信