- /*
- * 输出菱形
- * a
- * aaa
- * aaaaa
- * aaa
- * a 先输出上面两行,在输出中间一行,最后两行重复
- */
- public class Test
- {
- public static void main(String[] args)
- {
- int startNum=5; //给定值
- int Num=(startNum+1)/2; //important
- System.out.println("输出的图形:");
- for(int i=1;i<Num;i++)
- {
- for(int k=0;k<Num-i;k++)
- {
- System.out.print(" ");
- }
- for(int j=1;j<i;j++) //先假设每行不输出中间的数字,只输出前一半,后一半用相同循环输出,代表第一行什么都不输出
- {
- System.out.print("*");
- }
- System.out.print("*"); //代表输出中间的数字
- for(int j=1;j<i;j++)
- {
- System.out.print("*");
- }
- for(int k=0;k<Num-i;k++)
- {
- System.out.print(" ");
- }
- System.out.println();
- }
- for(int i=0;i<startNum;i++)
- {
- System.out.print("*");
- }
- System.out.println();
- ///下部分为反向输出/
- for(int i=1;i<Num;i++)
- {
- for(int k=Num;k>Num-i;k--)
- {
- System.out.print(" ");
- }
- for(int j=1;j<Num-i;j++)
- {
- System.out.print("*");
- }
- System.out.print("*");
- for(int j=1;j<Num-i;j++)
- {
- System.out.print("*");
- }
- for(int k=Num;k>Num-i;k--)
- {
- System.out.print(" ");
- }
- System.out.println();
- }
- }
- }