我是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();
}
}
}
答案 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开始。依此类推。