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

大神来求解

import java.util.Arrays;
public class HelloWorld {
    
    //完成 main 方法
    public static void main(String[] args) {
        
        int[] scores = {89, -23, 64, 91, 119, 52, 73};
        HelloWorld hello = new HelloWorld();
        int[] scoreRank = hello.rank(scores);
        System.out.println(Arrays.toString(scoreRank));
        
    }
    
    //定义方法完成成绩排序并输出前三名的功能
    public int[] rank(int[] scores) {
        int[] scoreRank = new int[3];
        Arrays.sort(scores);
        int j = 0;
        for (int i = scores.length - 1; i <= scores.lenght - 3; i--) {
            scoreRank[j] = scores[i];
            j++;
        }
        return scoreRank;
    } //用来求数组scores中最大的三个数。for循环有点问题,可我看不出来,帮我看看!

正在回答

1 回答

 public int[] rank(int[] scores) {
        int[] scoreRank = new int[3];
        Arrays.sort(scores);
        int j = 0;
        for (int i = scores.length - 1; i <= scores.lenght - 3; i--) {
            scoreRank[j] = scores[i];
            j++;
        }
        return scoreRank;
    } //用来求数组scores中最大的三个数。for循环有点问题,可我看不出来,帮我看看!

你循环里的

第一:scores.lenght--->出问题了

第二:结果出来都是零

你自己还是看看文档吧

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

慕雪芸茗 提问者

非常感谢!
2016-03-12 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

大神来求解

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