为啥那么啊啊

来源:7-1 编程练习

张晨风

2016-11-30 18:22

为什么这样不行

package pratice;

import java.util.*;

public class 返回成绩 {

    //完成 main 方法

    public static void main(String[] args) {

        int[] scores=new int[]{89,-23,64,91,119,52,73};

                      返回成绩 hw=new 返回成绩();

        hw.sort(scores);

  

    } 

    //定义方法完成成绩排序并输出前三名的功能

    public void sort(int[] scores)

    { int count=0;

        Arrays.sort(scores);

        System.out.println("考试成绩的前三名为:");

        for(int i=scores.length-1;i>=0;i--)

        {

           {

            if(scores[i]<0||scores[i]>100)

            continue;

           }

        count++;

       while(count==3)

        break;

        System.out.println(scores[i]);

        }

    }   

}

为什么这样不行

写回答 关注

3回答

  • 道长4141440
    2016-11-30 19:23:38
    已采纳

    感觉就是写的太粗心了 可以从第一行开始仔细检查检查,这样记忆也比较深刻

    张晨风

    恩恩,谢谢,以后一起好好学习

    2016-11-30 21:57:36

    共 2 条回复 >

  • mk_mjh
    2016-11-30 23:34:03
    /*把你的循环语句 while(count==3) 改成条件语句 if(count>3) 就可以了
    你代码写的太不规范了,看得都累
    尽量不要写中文  注意格式
    */
    import java.util.Arrays;
    
    public class Demo3 {
    	// 完成 main 方法
    	public static void main(String[] args) {
    		int[] scores = new int[] { 89, -23, 64, 91, 119, 52, 73 };
    		Demo3 hw = new Demo3();
    		hw.sort(scores);
    
    	}
    
    	// 定义方法完成成绩排序并输出前三名的功能
    	public void sort(int[] scores) {
    		int count = 0;
    		Arrays.sort(scores);
    		System.out.println("考试成绩的前三名为:");
    		for (int i = scores.length - 1; i >= 0; i--) {
    
    			if (scores[i] < 0 || scores[i] > 100) {
    				continue;
    			}
    
    			count++;
    			if (count > 3) {
    				break;
    			}
    			System.out.println(scores[i]);
    		}
    	}
    }


    mk_mjh 回复张晨风

    >3就是说count数值大于3都会跳出. 但是==3意思是count只有在等于3的时候会跳出,count等于4了又开始打印. 题目要求我们只打印前3个数,所以应该用>3.

    2017-01-15 00:18:29

    共 2 条回复 >

  • mk_mjh
    2016-11-30 22:06:28

    /*把你的循环语句 while(count==3) 改成条件语句 if(count>3) 就可以了

    你代码写的太不规范了,看得都累

    尽量不要写中文  注意格式

    */

    import java.util.Arrays;


    public class Demo3 {

    // 完成 main 方法

    public static void main(String[] args) {

    int[] scores = new int[] { 89, -23, 64, 91, 119, 52, 73 };

    Demo3 hw = new Demo3();

    hw.sort(scores);


    }


    // 定义方法完成成绩排序并输出前三名的功能

    public void sort(int[] scores) {

    int count = 0;

    Arrays.sort(scores);

    System.out.println("考试成绩的前三名为:");

    for (int i = scores.length - 1; i >= 0; i--) {


    if (scores[i] < 0 || scores[i] > 100) {

    continue;

    }


    count++;

    if (count > 3) {

    break;

    }

    System.out.println(scores[i]);

    }

    }

    }


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

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

1165172 学习 · 17581 问题

查看课程

相似问题