帮我看下哪里错了

来源:7-1 编程练习

无力cm

2015-07-03 21:40

这个代码对照了下标准答案,除了方法名不一样,其他都按标准答案填了,但还是报错,求看看错在哪里

写回答 关注

4回答

  • angelyslove
    2015-07-08 00:05:43
    1. hello.top(socres)拼写错误  应该为:hello.top(scores)  要和你main里面定义的数组名一致。第9行

    2. int num=0;写错了。用myeclipse编译时显示错误。因为如果符合if的话,接下来就执行了continue,跳出if后的语句进入下一个循环。大括号的位置理一理就好,楼上给出了正确代码。

  • 郭培雷
    2015-07-04 11:50:52

    首先,这样写fou循环中不会执行任何东西。因为if中continue,后面的代码会自动跳过,执行下一次for循环。

    然后。int num=0;写在 for循环中每次都会循环执行。所以num永远等于0.sort排序由小到大进行排序,所以输出的结果为成绩最小的三位。正确的为:

       public static void top(int[] scores){

            Arrays.sort(scores);//排序

            int num =0;

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

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

                    continue;           

              }

               num++;

               if (num>3){ 

                   break;   

               }

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

           } 

        }


  • 开森的根号
    2015-07-03 22:35:42

    package cn.edu.zafu;

    import java.util.Arrays;

    public class llll {

     /**
      * @param args
      */
     public static void main(String[] args) {
      // TODO Auto-generated method stub
      
       int[] scores={1,2,5,6,3};
           Arrays.sort(scores);//排序
           for(int i=0;i<scores.length;i++)
           {
              

                  if(scores[i]<0||scores[i]>100)
                  {
                   continue;
                  }
                     int num=0;
                   
                   num++;
                   if(num>3)
                   {
                   break;
                   }
                   System.out.println(scores[i]);

           }
      

     }

    这样。。

  • 王王宁
    2015-07-03 21:53:07
    public void top(int[] scores){
         Arrays.sort(scores);//排序
         for(int i=0;i<scores.length;i++){
                if(scores[i]<0||scores[i]>100){
                     continue;
                int num =0;
                num++;
                if (num>3){
                   break;
                 }
              System.out.println(scores[i]);
          }
    }

    这个方法错了吧    int  num = 0 应该写在for循环外面 试试 

Java入门第一季(IDEA工具)升级版

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

1165607 学习 · 17587 问题

查看课程

相似问题