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

为神马执行不了了啊 ? 我想知道 循环遍历一个数组中的元素后,如何把筛选的数值再搞到另一个新建的数组里面呢?

package com.imooc;
import java.util.Arrays;
public class showTop3 {
 public static void main(String[] args) {
        int[] scores={89,-23,64,91,119,52,73};
   
        System.out.println("考试成绩前三名的是:");
        showTop3 hello = new showTop3();
        hello.getScore(scores);
       
       
       
    }
   
    //定义方法完成成绩排序并输出前三名的功能
   
    public int[] getScore(int[] scores){
        int nums= 0;
        int[] sc = new int[]{};
        Arrays.sort(scores);
        for (int i=scores.length-1;i>=0;i--){
            if(0>scores[i]||scores[i]>100){
                continue;
            }
           nums++;
           if(nums>3){
          break;
           }
         sc[i]=( scores[i]);
       
    }
        System.out.println(Arrays.toString(sc));
        return sc;
   
    }
   
}
求老师指点呢  。。 自己想了半天不会搞。好浪费时间 

正在回答

2 回答

方法定义的第三行  int[] sc = new int[]{};  int[] sc = new int[]{};

划线部分的数组定义方式是不正确的,要给出数组的长度的。

另外你要下工夫了解一下for循环的执行顺序 如i++在什么时候执行

希望能帮到您!

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

这个是数组越界的异常,原因是,你定义的sc这个数组没有长度

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

gank 提问者

那我这个程序该怎么改呢 , 求老师指点。
2014-11-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为神马执行不了了啊 ? 我想知道 循环遍历一个数组中的元素后,如何把筛选的数值再搞到另一个新建的数组里面呢?

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