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

哪里有问题列。。

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

       int [] scores={89,-23,64,91,119,52,73};

        HelloWorld hello=new HelloWorld();

        hello.nima(scores);     

    System.out.println("考试成绩前三名为:");    

        

    }

    

    //定义方法完成成绩排序并输出前三名的功能

    public int nima(int [] scores){

        for(i=scores.length-1;i>=0;i--){

            if(scores[i]>100||scores[i]<0){

                continue;

            }

        int j=0;

            j++;

        if(j<=3){

        System.out.println(scores[i]);

        }

        }

    }

    

    

    

    

    

    

    

    

    

}

错误:

error: cannot find symbol
for(i=scores.length-1;i>=0;i--){
^
symbol: variable i
location: class HelloWorld
error: cannot find symbol
for(i=scores.length-1;i>=0;i--){
^
symbol: variable i
location: class HelloWorld
error: cannot find symbol
for(i=scores.length-1;i>=0;i--){
^
symbol: variable i
location: class HelloWorld
error: cannot find symbol
if(scores[i]>100||scores[i]<0){
^
symbol: variable i
location: class HelloWorld
error: cannot find symbol
if(scores[i]>100||scores[i]<0){
^
symbol: variable i
location: class HelloWorld
error: cannot find symbol
System.out.println(scores[i]);
^
symbol: variable i
location: class HelloWorld
6 errors

正在回答

3 回答

恩恩,是要改成void因为在nima方法中没有返回值,所以要定义成void,如果不是void类型的话,最后要有返回值return的。

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

qq_岚风依旧_0 提问者

非常感谢!
2015-01-31 回复 有任何疑惑可以回复我~

public static void main(String[] args) {

        int[] scores = { 89, -23, 64, 91, 119, 52, 73 };

        HelloWorld hello = new HelloWorld();

        hello.nima(scores);

    }


    // 定义方法完成成绩排序并输出前三名的功能

    public void nima(int[] scores) {

        Arrays.sort(scores);//  排序

        for(int i = scores.length-1 ;i>scores.length-4;i--){

            System.out.println("成绩前三名 : "+scores[i]);

        }

    }

定义成 void 是没有返回值 , 不定义成 void 的话 , 就要返回值 , 还要定义返回值类型 , 最后还要 return 值 , 前面调用方法那里还要定义变量接收 , 具体可以看看定义方法定义的介绍 , 有静态(static)的和非静态的 , 

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

int j=0不能定义在for循环里面,for(int i=scores.length-1;i>=0;i--)中i是int类型的,你没有定义类型啊,

System.out.println(scores[i]);输出语句应在if语句的外面,而且if语句应该是if(i>3)

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

qq_岚风依旧_0 提问者

我按您说的改了,然后: error: '.class' expected if(int scores[i]>100||scores[i]<0){continue; }×6 error: reached end of file while parsing } ^ ^
2015-01-28 回复 有任何疑惑可以回复我~
#2

qq_岚风依旧_0 提问者

我看了别人的代码,在定义方法那里将改成void,我试了一下,正确了 但是不知道为什么,能告诉我吗?谢谢
2015-01-28 回复 有任何疑惑可以回复我~
#3

yymooc 回复 qq_岚风依旧_0 提问者

恩恩,是要改成void因为在nima方法中没有返回值,所以要定义成void,如果不是void类型的话,最后要有返回值return的。
2015-01-28 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

哪里有问题列。。

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