如何打印三角形样式结果模式

时间:2016-10-23 15:08:09

标签: java for-loop while-loop

我很难使用for或while循环创建三角形样式结果。它应该打印:

  
      
  • 2
  •   
  • 2 4
  •   
  • 2 4 6
  •   
  • 2 4 6 8
  •   
  • 2 4 6 8 10 ....
  •   

这是我到目前为止,有什么建议吗?非常感谢。

public static void main(String[] args) {    
    for (int row = 2; row < 10; row+=2) {
        for (int col = 1; col < row ; col++ )
            System.out.print(col * row + "\t");
        System.out.println();                       
    }
}

3 个答案:

答案 0 :(得分:0)

    String SPACE =" ";
    int numberOfCols = 1;

    while (numberOfCols < 5) {

        int colCounter = 1;
        for( int i = 2; i<= 10; i+=2) {
            System.out.print(i + SPACE);
            if(colCounter ++ > numberOfCols)    break;
        }
        System.out.println();
        numberOfCols++;
    }

答案 1 :(得分:0)

要打印右对齐的三角形,您需要增加每次迭代的宽度,并在您的情况下仅打印偶数。

不需要乘以行和列,您只需在col

中打印偶数

试试这个

private static void printPattern(int rows) {
    for (int row = 2; row <= 2 * rows; row += 2) {
        for (int col = 2; col <= row; col += 2) {
            System.out.print(col + " ");
        }
        System.out.println();
    }
}

输出:rows = 10

2 
2 4 
2 4 6 
2 4 6 8 
2 4 6 8 10 
2 4 6 8 10 12 
2 4 6 8 10 12 14 
2 4 6 8 10 12 14 16 
2 4 6 8 10 12 14 16 18 
2 4 6 8 10 12 14 16 18 20 

答案 2 :(得分:0)

我认为你没有干你的程序。其他明智的你会明白你的问题。

对于第一个外循环row存储2.在内循环中col可以获得值1,因为循环的退出条件是col&lt; row。因此,当col达到值2时,它将退出循环,因此仅打印2

现在对于外循环row的第二次迭代存储4.在内循环中col以值1存储开始。因此,第一次打印将是4 X 1,即4.然后col获得值2因此打印将是4X2,即8.依此类推。这不是你想要的。所以重新考虑你的问题。