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

帮忙看下哈

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;

        hello.ming(scores);

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

        

        

    }

    

    //定义方法完成成绩排序并输出前三名的功能

    public void ming(int[]scores){

        Arrays.sort(scores);

        for(int i=scores.length-1;i>=0;i--){

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

            continue;

            for(int j=0;j<3;j++){

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

            }

        }

//哪里错了

正在回答

3 回答

仔细看了一下,首先HelloWorld hello=new HelloWorld()少了括号

其次System.out.println("考试成绩的前三名为");要放在hello.ming(scores);前面

然后

public void ming(int[]scores){

        Arrays.sort(scores);
        int count=0;
        for(int i=scores.length-1;i>=0&&count<3;i--){

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

            continue;
            
            System.out.println(scores[i]);
            
            count++;
        }
    }

记得检查大括号是不是一一对应

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

中国好学生丶 提问者

还是错了,你看下第二个for那样用可以吗
2015-12-09 回复 有任何疑惑可以回复我~
#2

Caballarii 回复 中国好学生丶 提问者

第二个for代表在第一层循环里每一个数都输出三次,当然不对
2015-12-09 回复 有任何疑惑可以回复我~

知道了

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

scores[i]<0||scores[i]>100,一个数字不可能既小于0又大于100

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

中国好学生丶 提问者

|| 不是只要有一个成立就是ture吗 所以单小于0 或者大于100就放回ture所以跳过此次循环
2015-12-08 回复 有任何疑惑可以回复我~
#2

中国好学生丶 提问者

我把&&换成||可是还是错,帮忙看下还有哪个地方错了
2015-12-08 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

帮忙看下哈

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