各位大神,求看看哪里错了

来源:7-1 编程练习

慕丝1484678

2015-03-28 09:22

明明好仔细的做了一遍...

写回答 关注

3回答

  • 发条橙
    2015-03-28 09:48:56
    import java.util.Arrays;
    public class HelloWorld {
        
        //完成 main 方法
        public static void main(String[] args) {
         int[] scores={89,-23,64,91,119,52,73}; //成绩数组 
          System.out.println("考试成绩的前三名为:") ;
          HelloWorld hello=new HelloWorld();//创建一个对象对象名为Hello
           hello.showTop3(scores); //调用方法,传人成绩数组 
            
        }
        
        //定义方法完成成绩排序并输出前三名的功能
        public void showTop3(int[] scores){
            Arrays.sort(scores);  //使用Arrays.sort()方法实现数组排序
            int num =0;  //保持有效的成绩数量
        for (int i= scores.length-1;i>=0;i--){ //倒序遍历数组中的每一个元素
            if(scores[i]<0||scores[i]>100){  //判断程序的有效性
                    continue;  //如果成绩无效,则跳出本次循环,忽略此成绩
            }
                        num++; //有效成绩加1
                        if(num>3){//判断有效成绩数量
                        break; //如果有小成绩大于3,则结束循环,只输出成绩前三名
                            
                        }
                        System.out.println(scores[i]);  //依次输出前三名
                        
                    }
                
            }
        
        }

    我把我改过的给你贴上  你自己对比一下

  • 发条橙
    2015-03-28 09:44:30

    亲 你这里面好多变量名跟你声明的都不一样  你自己再好好检查一下..

    很多都是拼写错误

  • 发条橙
    2015-03-28 09:37:04

    1.   int[] scores={89,-23,64,91,119,52,73}    6行

    少分号

    2.   if(scoers[i]<0||scoers[i]>100)和System.out.println(scores[i])    18行  26行

    括号用英文括号

    3.  int unm =0   16行

    发条橙 回复发条橙

    if(num>3){//判断有效成绩数量 break; 还是要判断是不是大于3

    2015-03-28 09:47:58

    共 4 条回复 >

Java入门第一季(IDEA工具)升级版

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

1165172 学习 · 17581 问题

查看课程

相似问题