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

sum++为什么不行

sum++为什么不行

半盏香茗 2016-02-04 18:13:44
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]);                    }    }                                    }
查看完整描述

4 回答

已采纳
?
IMOOCER_Vi

TA贡献7条经验 获得超4个赞

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的,否则数组下标越界。写代码的时候要细心哦

查看完整回答
2 反对 回复 2016-02-04
?
qq_灰太狼_27

TA贡献7条经验 获得超1个赞

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

            

        }

    }


查看完整回答
反对 回复 2016-02-19
?
童年像是一场梦

TA贡献2条经验 获得超0个赞

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


查看完整回答
反对 回复 2016-02-04
?
童年像是一场梦

TA贡献2条经验 获得超0个赞

我觉得你这个代码有点问题,应该是 for(int i=scores.length-1;.........

而不是score.length;

查看完整回答
反对 回复 2016-02-04
  • 4 回答
  • 0 关注
  • 1908 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信