问答详情
源自:7-1 编程练习

求大神帮忙

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
咋回事

提问者:慕粉3570716 2016-07-02 11:33

个回答

  • FateForever
    2016-07-07 16:15:12

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

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

  • Aliol
    2016-07-02 23:18:16

    毛病在这,

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

  • java小新
    2016-07-02 15:20:16

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

    int count=grades.length-1;

    count--;

  • 大力做大力嗳
    2016-07-02 12:06:27

    System.out.println(names);