我试图打印8行,每行增加7颗星,所以最后一行我会得到56颗星。
int num = 0;
for (int i = 0; i < 8; i++) {
for (int j = 0; j < num; j++) {
System.out.print("*");
}
System.out.println();
num += 7;
}
我最终得到了7行而不是8行,因此我得到了49星
我期望的是:
*******
**************
*********************
****************************
***********************************
******************************************
*************************************************
********************************************************
我建议您将i
初始化为1
并使用i * 7
,而不是使用num
。比如
for (int i = 1; i <= 8; i++) {
for (int j = 0; j < i * 7; j++) {
System.out.print("*");
}
System.out.println();
}
这应该完全符合你的意愿(也更容易理解(。
您可以添加一个新的迭代,将第一个for
条件更改为i <= 8
,也可以使第一个迭代实际打印一些内容,如int num = 7;
您可能需要初始化num as num=7
而不是num=0
,然后您将获得8行。