在java中绘制数字三角形

时间:2014-11-12 19:22:35

标签: java

编写一个用数字打印直角三角形的程序。每次打印一个数字后,该数字应增加1.程序还应在每个数字后打印一个空格字符。

我试图让程序按如下方式运行:

从用户处获取一个数字,表示列数

检查用户输入是否有效(应该大于1)。如果没有打印错误消息"列数无效"

如果该数字有效,则打印一个具有输入列数的直角三角形,如上所述。

    1
    2 3
    4 5 6
    7 8 9 10

但我正在

    1 
    5 6 
    9 10 11 
    13 14 15 16 

代码:

int k=1;
for(int i=1 ; i<=4 ; i++)
{
    for(int j=1 ; j<=4 ; j++)
    {
        if(j<=i)    
            System.out.print(k+" " );

        k++;
    }
    System.out.println();           
}

1 个答案:

答案 0 :(得分:3)

你的if是否缺少括号

if(j<=i)
  System.out.print(k+" " );
  k++;

所以总是递增k

应该是

if(j<=i){
  System.out.print(k+" " );
  k++;
}