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

我的本意是用返回类型为int[]去做,结果遍历的数组halo只是把排序后的元素输出出来了,如if语句都未执行

我的本意是用返回类型为int[]去做,结果遍历的数组halo只是把排序后的元素输出出来了,如if语句都未执行

慕粉Javacoder 2016-06-03 20:24:19
//功能:import java.util.Arrays;public class HelloWorld {        //完成 main 方法    public static void main(String[] args) {          HelloWorld hello=new HelloWorld();        int[] scores={89,-23,64,91,119,52};        System.out.println("考试前三名为:");         int[] halo=hello.sort(scores);                 for(int j:halo){    System.out.println(j);    }             }            //定义方法完成成绩排序并输出前三名的功能    public int[] sort(int[] scores ){        int count=0;        Arrays.sort(scores);        //for循环应从后往前开始遍历        for(int i=scores.length-1;i>=0;i--){        //判断数组中的参数是否有效            if(scores[i]<0||scores[i]>100)                 continue;                count++;            if(count>3) break;                 }              return scores;          } }
查看完整描述

1 回答

已采纳
?
王大厉

TA贡献58条经验 获得超11个赞

看错了  你返回的是排完序的数组    

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

                continue;

            else{

            count++;

            if(count>3) 

                  break;

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

            }

这样输出的是前三  你返回的是排完序的 scores数组


查看完整回答
反对 回复 2016-06-03
  • 慕粉Javacoder
    慕粉Javacoder
    代码能执行的 只是执行出的结果 不是考试的前三名而是 排序后的数组的元素不知道哪里错了 而且if条件句好像没有执行
  • 王大厉
    王大厉
    我修改了 你再看看
  • 慕粉Javacoder
    慕粉Javacoder
    谢谢,这个的确可以 但是我的返回类型是int【】 代码块结尾的return 我应该怎么让他返回有前三名的数组呢。 直白点就是 return后面我应该加什么
点击展开后面1
  • 1 回答
  • 0 关注
  • 1262 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信