效果图如下: 首先我们看图片上下是对称的,我们先来打印上半部分, 1.用一个for循环来做外层循环控制打印的列数 for(int i =0;i<10;i++){//打印10列
}
2.同样用2个for循环来打印内层的空格和*
for(int j = 0;j<10-j;j++){//打印空格,不换行
System.out.print(" ")
}
当打印了空格不换行,再打印*就只能往后面放
for(int k = 0;k<2*i;k++){//打印“*”
System.out.print("*")
}
完整代码如下:
for(int i=1;i<10;i++) {
for(int j = 1 ;j<10-i;j++) {//打印空格
System.out.print(" ");
}
for(int k = 1;k<2*i;k++) {//打印“*”
System.out.print("*");
}
System.out.println();//打印一行后换行
}
这段代码打印后效果图如下:
3.接下来写下半角,思路和上半角一样,只是循环的条件变了而已
直接上代码:
for(int i=1;i<10;i++) {
for(int k = 0;k<i;k++) {
System.out.print(" ");
}
for(int j = 1;j<18-2*i;j++) {
System.out.print("*");
}
System.out.println();
}
上图:
ok,现在只要将代码拼接就可以了。
完整代码如下:
public class PascalTriangle {
public static void main(String[] args) {
for(int i=1;i<10;i++) {
for(int j = 1 ;j<10-i;j++) {
System.out.print(" ");
}
for(int k = 1;k<2*i;k++) {
System.out.print("*");
}
System.out.println();
}
for(int i=1;i<10;i++) {
for(int k = 0;k<i;k++) {
System.out.print(" ");
}
for(int j = 1;j<18-2*i;j++) {
System.out.print("*");
}
System.out.println();
}
} } 这个题目思路主要就是利用循环分别打印空格和*,然后用条件来限制个数。