难点:空格和*的排布规律和把一个图形分开成两部分
题目:
编写程序,输出以下图形。
*
* *
* *
* *
*
解题思路:
用i循环行,用k输出空格,用j输出*,且k和j在i的循环内
代码如下:
public class Main { public static void main(String[] args) { for(int i = 1 ; i <= 3 ; i++){ for(int k = 1 ; k <= 3 - i ; k++){ System.out.print(" "); } for(int j = 1 ; j <= 2 * i - 1 ;j++){ if(j == 1 || j == 2 * i - 1){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(); } for(int i = 1 ; i <= 2 ; i++){ for(int k = 1 ; k <= i ; k++){ System.out.print(" "); } for(int j = 1 ; j <= 5 - 2 * i ; j++){ if(j == 1 || j == 5- 2 * i){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(); } } }
运行结果如下: