问答详情
源自:7-1 编程练习

求指导,不能输出答案

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++;
        }
    }
   
}


提问者:依旧816 2015-06-09 12:03

个回答

  • 孟玉珏
    2015-06-12 20:30:04

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

  • WangJhhxx
    2015-06-09 12:51:08

    用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]);
                   }
                }
              
              
            
        }