PS: 自己写着玩的,来个大牛改进改进。- /*
- 需求:打印菱形
- 思路:
- 1、打印*型的菱形,选择用嵌套for循环语句。
- 2、上面和下面两个图形规律不一样,选择两次嵌套。
- 外层循环控制行数,内层循环控制列数。
- 3、通过判断条件,来控制打印的是空格还是*号。
- */
- import java.util.*;
- class DiamondDemo
- {
- public static void main(String[] args)
- {
- //键盘录入菱形的上下行数
- Scanner sc = new Scanner(System.in);
- //提示需要输入的数值
- System.out.println("请输入菱形的行数:");
- int n = sc.nextInt();
- //打印上部分
- for (int x = 1; x<=n; x++ )
- {
- //打印上左部分
- for (int y = n; y>0 ; y-- )
- {
- if(x<=y)//控制在外围输出菱形小方块和空格
- System.out.print((char)4);
- else
- System.out.print(" ");
- }
- System.out.print("\b");//控制右半部分接着左边的打印
- //打印上右部分
- for (int y = 1; y<=n ; y++)
- {
- if(x<=y)//控制在外围输出菱形小方块和空格
- System.out.print((char)4);
- else
- System.out.print(" ");
- }
- if(x!=n)//控制下部分接着上部分打印
- System.out.println();
- else
- System.out.print("\r");
- }
- //打印下部分
- for (int x = 1; x<=n ; x++ )
- {
- //打印下左部分
- for (int y = 1; y<=n; y++ )
- {
- if(x>=y)//控制在外围输出菱形小方块和空格
- System.out.print((char)4);
- else
- System.out.print(" ");
- }
- System.out.print("\b");//控制右半部分接着左边的打印
- //打印下右部分
- for (int y = n; y>0 ; y--)
- {
- if(x>=y)//控制在外围输出菱形小方块和空格
- System.out.print((char)4);
- else
- System.out.print(" ");
- }
- System.out.println();
- }
- }
- }
复制代码
|
|