首页 > 解决方案 > 了解嵌套的 for 循环

问题描述

我对 Java 编程非常熟悉,并且在我正在学习的课程中,我在其中一个练习中“作弊”并尝试逆向工程解决方案。但是,我不太明白最后一部分是如何工作的。我尝试在纸上运行它,试图解决一个解决方案,但感到困惑。

目标是从键盘输入 20 个数字并按降序显示。有人可以帮我查看代码最后一部分中for循环和嵌套循环的执行流程吗?for

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;

/* In decreasing order */
public class Solution {
  public static void main(String[] args) throws Exception {
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    int[] array = new int[20];
    for (int i = 0; i < 20; i++) {
      array[i] = Integer.parseInt(reader.readLine());
    }
    sort(array);
    for (Integer x: array) {
      System.out.println(x);
    }
  }

  public static void sort(int[] array) {
    for (int j = 0; j < array.length - 1; j++) {
      for (int k = j + 1; k < array.length; k++) {
        if (array[j] < array[k]) {
          int l = array[j];
          array[j] = array[k];
          array[k] = l;
        }
      }
    }
  }
}

标签: java

解决方案


解决方案:

Arrays.sort(array);

for(int i=(20-1);i>=0;i--){

System.out.print(array[i] + "");

}`

System.out.println();


20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1


推荐阅读