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

大神指点一下

package com.lianxi;


import java.util.Arrays;


public class Biancheng {

public static void main(String[] args) {

Biancheng hello=new Biancheng();

int[] nums=hello.print(7);

Arrays.sort(nums);

System.out.println("考试成绩的前三名为:");

System.out.println(Arrays.toString(nums));

System.out.println(nums[6]);

System.out.println(nums[5]);

System.out.println(nums[4]);

}

     public  int[]  print(int length) { 

    int[] scores={89,-23,64,91,119,52,73};

    int[] nums=new int[length];

     

    for(int i=0;i<scores.length;i++){ 

    if(0<scores[i]&&scores[i]<100){

    int j=0;

nums[j]=scores[i];

j++;

    }

    }

    return nums;

     }

     

    

}

哪里不对了?

正在回答

3 回答

你写的乱了,建议你研究一下这个http://img1.sycdn.imooc.com//5934bf250001149605260825.jpg

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

慕斯1379455 提问者

非常感谢!
2017-06-05 回复 有任何疑惑可以回复我~
#2

慕斯1379455 提问者

这个挺好!谢谢!
2017-06-05 回复 有任何疑惑可以回复我~


import java.util.Arrays;


public class Biancheng {

public static void main(String[] args) {

Biancheng hello=new Biancheng();

int[] nums=hello.print(7);

Arrays.sort(nums);

System.out.println("考试成绩的前三名为:");

// System.out.println(Arrays.toString(nums));

System.out.println(nums[6]);

System.out.println(nums[5]);

System.out.println(nums[4]);

}

     public  int[]  print(int length) { 

    int[] scores={89,-23,64,91,119,52,73};

    int[] nums=new int[length]; 

    for(int i=0;i<scores.length;i++){ 

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

    continue;

    }

nums[i]=scores[i];

   

        } return nums;

   

     }

     

    

}

调好了,不一定非得用给定的答案!

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

慕尼黑7647582

这只是我写的一个答案,实现的代码有很多种,每个人的想法也都不一样。把思路想好了,代码就容易写了。建议在eclipse中敲代码,可以帮你分析代码的语法错误
2017-06-04 回复 有任何疑惑可以回复我~
#2

慕斯1379455 提问者 回复 慕尼黑7647582

是的,我每次都会在eclipse中写一遍没错误了,才会复制在课程的题目中提交
2017-06-04 回复 有任何疑惑可以回复我~

代码有些混乱,有些代码逻辑不够明确。写代码时先要缕清思路。给你个代码参考下

        int scores[]=new int[]{89,-23,64,91,119,52,73};
        int count=0;//统计输出个数
        Arrays.sort(scores);//升序排序
        for(int i=scores.length-1;i>=0;i--){//从成绩最大的开始循环
            if(scores[i]<0||scores[i]>100) continue;//不符合范围的分数不能进入循环
            System.out.println(scores[i]);//输出成绩
            count++;
            if(count>2) break;//输出3个成绩后终止循环
        }


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

慕斯1379455 提问者

你这是给定的答案
2017-06-04 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

大神指点一下

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