2 回答
TA贡献1842条经验 获得超12个赞
这里有两个问题:
j >= 0
应该改为j > 0
您应该避免在以下情况下打印空白区域:
j == i
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Please enter a number 1...9 :");
int num = scan.nextInt();
scan.close();
for (int i = 1; i <= num; i++) {
for (int j = 2*(num-i); j > 0; j--)
if (num > 1)
System.out.print(" ");
for (int j = i; j >= 1; j--) {
if (j != i)
System.out.print(" ");
System.out.print(j);
}
System.out.println();
}
}
我收到以下输出num = 5:
Please enter a number 1...9 :
5
1
2 1
3 2 1
4 3 2 1
5 4 3 2 1
TA贡献1853条经验 获得超9个赞
尝试添加一个第一次跳过空格的 if 语句,例如:
for(int j = i; j >= 1; --j)
{
if(j == i)
System.out.print(j);
else
System.out.print(" " + j);
}
添加回答
举报