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

求指导,不能输出答案

import java.util.Arrays;
public class HelloWorld {
    
    //完成 main 方法
    public static void main(String[] args) {
        
        HelloWorld shuchu=new HelloWorld();
        int scores[]={89,-23,64,91,119,52,73};
        shuchu.chengji(scores);
    }
    
    //定义方法完成成绩排序并输出前三名的功能
    public void chengji(int scores[])
    {   
        int count=0;
        Arrays.sort(scores);
        for(int j=scores.length-1;j>=0&&count>=3;j--)
        {
            if(scores[j]<0||scores[j]>100)
              continue;    
            System.out.println(scores[j]);
            count++;
        }
    }
   
}


正在回答

2 回答

for()循环语句里面的判断条件有错。count是小于3,而不是count >= 3; 因为for语句一开始执行就结束了,count = 0,不满足条件。为什么不能等于3呢,因为count 是从零开始的,只需要输出三个数就好,count最大为2.

1 回复 有任何疑惑可以回复我~
用Eclipse软件,可以出现结果,结果也是对的,但是在这里就不能显示结果,求指明
package com.immoc;

public class HelloWorld {
    
    //完成 main 方法
    public static void main(String[] args) {
        int[] scores={89,-23,64,91,119,52,73};
        HelloWorld hello=new HelloWorld();
        hello.get(scores);
        
        
        
    }
    
    //定义方法完成成绩排序并输出前三名的功能
    
    public void get(int[] score){
        System.out.println("考试成绩的前三名为: ");
            for(int i=0;i<score.length-1;i++){
             for(int j=i+1;j<score.length;j++){
                    if(score[i]<score[j]){
                        int t;
                        t=score[i];
                        score[i]=score[j];
                        score[j]=t;
                         }
                }
            }
            int j=0;
            for(int i=0;i<score.length;i++){
                if((0<score[i])&&(score[i]<100)){
                    score[j]=score[i];
                    j++;
                }
            }
            for(int i=0;i<3;i++){
                System.out.println(score[i]);
               }
            }
          
          
        
    }


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

举报

0/150
提交
取消

求指导,不能输出答案

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