编写一个用数字打印直角三角形的程序。每次打印一个数字后,该数字应增加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();
}
答案 0 :(得分:3)
你的if是否缺少括号
if(j<=i)
System.out.print(k+" " );
k++;
所以总是递增k
应该是
if(j<=i){
System.out.print(k+" " );
k++;
}