Java,需要帮助理解

时间:2016-07-04 06:55:39

标签: java

我是Java新手,无法理解输出结果。我知道输出是什么,但我很难理解它是怎么回事,请帮忙。

(假设max的值为5)

当5为最大值时,输出为

  

E L L L L

     

G E L L L

     

G G E L L

     

G G G E L

     

G G G G E

代码没有任何问题,只是我在理解输出结果方面遇到了问题。我是这个论坛的新手,所以请原谅我看似错误或不合适的事情。

import java.util.Scanner;
import java.lang.Math;

class Lesson_3_Activity_One {
public static void main(String[] args) {

    Scanner scan = new Scanner (System.in);

     int n, k, max; 
     max = scan.nextInt();        /* read value for max */
     for (n = 0; n < max; n++)
     {  for (k = 0; k < max; k++)
        {  if (n > k)
              System.out.print(" G ");
           else if (n < k)
              System.out.print(" L ");
           else
              System.out.print(" E ");
        }
        System.out.println();
     }

   }
}

1 个答案:

答案 0 :(得分:0)

你有两个循环,一个嵌套在另一个循环中。

首先,n为0.对于n = 0,我们开始循环遍历内部for。 第一次,k为0. k和n均为零,因此控制台打印“E”。 第二次k是1.n仍为零,因此k大于n。控制台打印'L'。第三次,第四次和第五次,k仍然大于n,因此控制台继续在第一行打印'L'。

当k为4时,内循环结束,我们返回外循环。这个时间n是1.内部循环从0开始。依此类推。