逻辑

2016-04-21 92 views
-2

我有一个困难时期试图了解背后产生这样的输出嵌套循环程序逻辑:逻辑

Pattern C 
        1 
       1 2 
       1 2 3 
      1 2 3 4 
      1 2 3 4 5 
     1 2 3 4 5 6 
     1 2 3 4 5 6 7 
    1 2 3 4 5 6 7 8 
    1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 10 

而这里的代码:

void patternC(){ 
    System.out.println("\nPattern C"); 
    for(int m = 1; m <= a; m++){ //<-- a is for the desired number of lines 

     //spasi 
     for(int n = m; n <= a-m+a ; n++){ 
      System.out.print(" "); 
     } 

     for(int o = 1; o <= m ; o++){ 
      System.out.print(o + " "); 
     } 

     System.out.println(); 
    } 
} 

我知道第一个for用于该行,而第三个for用于在每行中打印的数字。但我仍然没有在第二个for(我知道这是间距)的逻辑,但你可以请示例解释我?谢谢。

+0

明白尝试打印出'm'' n'和'o'的值而不是 –

回答

0

理解嵌套循环基础知识的最佳方法是在纸上执行代码。只需按照每个步骤跟踪每个变量,并且应该在纸面上输出相同的输出,并了解循环的功能。

+0

或者在调试器中执行代码并观察计数器和限制。 – Konrad

-1
void patter(){ 

    for(int m = 1; m <= a; m++) // a is desired no to be selected by user. 
    {   
    for(int n = 1; n <= a-m ; n++){ 
     System.out.print(" "); 
    } 

    for(int o = 1; o <= m ; o++){ 
     System.out.print(o); 
    } 

    System.out.println(); 
    } 
}