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

求大神帮忙

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

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

     HelloWorld hello=new HelloWorld() ;  

       hello.third(grades); 

      

    }

    

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

    public void third(int[] names){

    Arrays.sort(names);

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

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

    int count=0;

    if(names[i]<0||names[i]>100)

    continue;

    count++;

    if(count<3)

    break;

    }

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

    }   

}

给出提示:/85/1598/EyuC/HelloWorld.java:24: error: cannot find symbol
   System.out.println(names[i]);
                            ^
 symbol:   variable i
 location: class HelloWorld
1 error
咋回事

正在回答

4 回答

把你的System.out.println(names[i]);

放到break;的位置 break;就不要了

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

毛病在这,

 if(names[i]<0||names[i]>100)

    continue;  

    count++; ===>       else { count++

                                           return names[i];

                                          if( count >= 3){

                                                break;

                                     }

    if(count<3)

    break;

    }

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

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

因为你的变量生命和你的判断有点不太搭,循环第一遍的时候count=1,你判断的直接跳出循环了,改改你的判断条件试试

int count=grades.length-1;

count--;

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

java小新

不好意思,我也是错的,变量不可以这样子声明。
2016-07-02 回复 有任何疑惑可以回复我~

System.out.println(names);

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

慕粉3570716 提问者

这个只写数组名字 出来的东西不对的
2016-07-02 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

求大神帮忙

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