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

为啥那么啊啊

为什么这样不行

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

        }

    }   

}

为什么这样不行

提问者:张晨风 2016-11-30 18:22

个回答

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

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

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

    }

    }

    }