sum++为什么不行

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

半盏香茗
浏览 1909回答 4
4回答

IMOOCER_Vi

public void method(int[] scores){         Arrays.sort(scores);         int sum=0;         for(int i=scores.length-1;i>=0;i--){             if(scores[i]>100){                 continue;             }             sum++;             if(sum>3){                 break;             }                 System.out.println(scores[i]);                      } }朋友,你的代码各种小问题,首先是你在if语句括号后面加了分号,导致if语句判断完成以后啥都没干就结束了,所以每次循环直接执行花括号里的continue,然后循环就结束了,sum++开始,后面的代码都不能执行。其次,你的for循环里面,i是不能等于scores.length的,否则数组下标越界。写代码的时候要细心哦

qq_灰太狼_27

public static void main(String[] args) {   int[] scores={89,-23,64,91,119,52,73};   System.out.println("考试成绩的前三名为:");   method1(scores); } //定义方法完成成绩排序并输出前三名的功能    public static void method1(int[] scores){        Arrays.sort(scores);        int sum=0;        for(int i=scores.length-1;i>=0;i--){            if(scores[i]<0||scores[i]>100){                continue;            }            sum++;            if(sum>3){                break;            }                System.out.println(scores[i]);                    }    }

童年像是一场梦

package test; import java.util.Arrays; public class HelloWorld { public  void method(int[] scores){  Arrays.sort(scores);         int sum=0;         for(int i=scores.length-1;i>=0;i--){//这个地方改为i=scores.length-1             if(scores[i]<0||scores[i]>100){//去掉“;”                 continue;             }             sum++;             if(sum>3){                 break;             }                 System.out.println(scores[i]);         } } public static void main(String[] args) { HelloWorld hello=new HelloWorld();         int[] scores={89,-23,64,91,119,52,73};                  System.out.println("考试成绩的前三名为:");//调换下换下顺序         hello.method(scores); } }

童年像是一场梦

我觉得你这个代码有点问题,应该是 for(int i=scores.length-1;.........而不是score.length;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java