java打印菱形
题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 }