要打印的样式:
源代码:
public class for7 {
public static void main(String[] args) {
//外循环控制行数
for (int i = 1; i <= 5; i++) {
//内循环输出空格
for (int j = i; j < 5; j++) {
System.out.print(" ");
}
//内循环输出*
for (int j = 1; j <= 2*i-1; j++) {
System.out.print("* ");
}
System.out.println();
}
}
}
代码解析:外循环不再多说,第一个内循环是输出前边的空格,应该能看懂吧,好吧再说一下:当i=1(即第一行)时,j=1,j<5,说明 j 要循环四次,并输出四个空格;当 i=2 时,j=2,j<5,说明 j 要循环三次,并输出三个空格,以此类推。
第二个内循环是输出 * 。我们观察图像: 第一行 1 个 ,第二行 3 个 ,第三行 5 个 * ,第四行 7 个 * ·····。我们可以得出一个结论,所在行有(2n-1)个 * 。用到了算法思想。
注意:内循环输出的是列,这样就好理解源代码中的 (j <= 2 * i - 1)
了