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

用foreach,sort,loop if怎么做

用foreach,sort,loop if怎么做

提问者:鹿先森和酒 2018-09-23 16:32

个回答

  • 闲人_
    2018-09-26 20:31:45
    已采纳

    1 Arrays的方法sort()是按升序排序的

    2 foreach只能从前往后遍历 所以要用for从后往前

    3没有限制输出数量

    4loop if 就没执行

  • 闲人_
    2018-09-26 20:32:17

    //定义一个变量k 用来控制输出数量


    int k=0;


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


    //Arrays的sort()方法是按升序排序的    输出的时候要从数组的末尾开始所以这里就不用foreach直接for


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


    //break 是直接跳出for循环 所以这里要用continue 是跳过本次循环进入到下一次;


    else if(k<3) {


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


    k++;


    }


    //这里用k来控制循环 每输出一次k自加1  


    else break; //当k自加三次后break  跳出for循环;


    }


  • 鹿先森和酒
    2018-09-23 16:34:12

    package lei;

    import java.util.*;

    public class zl{

    public static void main(String[] args) {

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

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

    int arr[],a;

    Arrays.sort(scores);

    for(int i:scores)

    {

    loop: if(i<0||i>100){

    break loop;

    }

    System.out.println(i);

    }



    }

    }

    为什么输出

    考试成绩的前三名为:

    -23

    52

    64

    73

    89

    91

    119