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

帮我看下哪里错了

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

正在回答

4 回答

  1. hello.top(socres)拼写错误  应该为:hello.top(scores)  要和你main里面定义的数组名一致。第9行

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

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

首先,这样写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]);

       } 

    }


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

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

       }
  

 }

这样。。

0 回复 有任何疑惑可以回复我~
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循环外面 试试 

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

举报

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

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

进入课程

帮我看下哪里错了

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