题3, 使用for循环打印一个菱形..
//下面这样的..
思路: 将他们看成是四个三角形;从第四行开始划分,上面两个(包含第四行),下面两个(下三行).用三个for循环将上下两部分分别写出.
找每行0与* 和 行数的关系:
当 第几行 0的个数 *的个数 //前四行,他们之间的关系
0 3 1
1 2 3
2 1 5
3 0 7
x 3-x 2x+1
当 第几行 0的个数 *的个数
0 1 5
1 2 3
2 3 1
y y+1 5-2y
1
2
3 int sz = 4; //定义行高
4 for( int a = 0; a < sz ; a++ ){ //第几行,,从0开始,小于行高,,所以a是能==3的
5
6 for( int b = 0; b < 3 - a ; b++){ //0与第几行的关系
7 System.out.print("0");}
8
9 for( int c = 0; c < 2 * a + 1; c++ ){ // *与第几行的关系
10 System.out.print("*");}
11
12 System.out.println(); //换行打印
13 }
14 //下面方法同上
15 for( int d = 0; d < sz -1 ; d++ ){
16
17 for( int e = 0; e < d + 1 ; e++){
18 System.out.print("0");}
19
20 for( int f = 0; f < 5 - 2 * d ; f++ ){
21 System.out.print("*");}
22
23 System.out.println();
24 }