黑马程序员技术交流社区

标题: 关于打印空心菱形的疑问 [打印本页]

作者: java陈辉    时间: 2013-12-31 22:48
标题: 关于打印空心菱形的疑问
本帖最后由 java陈辉 于 2014-1-10 23:05 编辑

怎样打印空心菱形?我只会打印实心菱形,下面是我写的代码,求大家帮我改改代码,打印出空心菱形。
public class Test {
    public static void main(String[] args) {
                print();
     }
    private static void print() {
                 for(int i=0;i<5;i++){
                         for(int j=i;j<4;j++){
                                 System.out.print(" ");
                         }
                         for(int k=0;k<=i;k++){
                                      System.out.print("* ");
                                 }
                         System.out.println();
                  }         
                 
                 for(int a=0;a<4;a++){
                         for(int b=0;b<=a;b++){
                                 System.out.print(" ");
                         }
                         for(int c=a;c<4;c++){
                                System.out.print("* ");
                         }
                         System.out.println();
                 }         
                        
           }
               
        }


作者: 浮出一个美    时间: 2014-1-1 00:23
只需要稍加修改就行了
  1. package com.itheima;

  2. import java.util.Scanner;

  3. public class Demo {

  4.         public static void main(String[] args) throws Exception {
  5.                 System.out.println("请输入一个数:");
  6.                 Scanner input = new Scanner(System.in);
  7.                 int x = input.nextInt();
  8.                 print(x);

  9.         }

  10.         private static void print(int x) {       
  11.                 for (int i = 1; i <= x; i++) {
  12.                         for (int j = 1; j <= x - i; j++) {
  13.                                 System.out.print(" ");
  14.                         }
  15.                         for (int k = 1; k <= 2 * i - 1; k++) {
  16.                                 if (k == 1 || k == 2 * i - 1) {
  17.                                         System.out.print("*");
  18.                                 } else {
  19.                                         System.out.print(" ");
  20.                                 }
  21.                         }
  22.                         System.out.println();
  23.                 }
  24.                
  25.                 for (int i = x - 1; i >= 1; i--) {
  26.                         for (int j = 1; j <= x - i; j++) {
  27.                                 System.out.print(" ");
  28.                         }
  29.                         for (int k = 1; k <= 2 * i - 1; k++) {
  30.                                 if (k == 1 || k == 2 * i - 1) {
  31.                                         System.out.print("*");
  32.                                 } else {
  33.                                         System.out.print(" ");
  34.                                 }
  35.                         }
  36.                         System.out.println();
  37.                 }

  38.         }
  39. }
复制代码


作者: 776699    时间: 2014-1-1 00:33
  private static void print() {
            for(int i=0;i<5;i++){                        //控制行数5行;
                    for(int j=i;j<4;j++){                //控制头左侧三角空白数目。
                            System.out.print(" ");
                    }
                    if(i==4)
                    for(int k=0;k<=i;k++){                //控制头右侧五角星打印
                            if(k==2)
                                    System.out.print("  ");       
                            else
                                    System.out.print("* ");
                     }
                    else{
                            for(int k=0;k<=i;k++){                //控制头右侧五角星打印
                                System.out.print("* ");
                         }
                    }
                  
                    System.out.println();                //控制换行
             }         
            
            for(int a=0;a<4;a++){                                //控制底部循环为四行。
                    for(int b=0;b<=a;b++){                //控制左侧空白处。
                            System.out.print(" ");
                    }
                    for(int c=a;c<4;c++){                        //控制右侧倒立三角
                           System.out.print("* ");
                    }
                    System.out.println();
            }         
                    
      }

}
作者: 净坛使者    时间: 2014-1-1 07:18

public class chenhui {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                                pound();
        }
        public static void pound() {
                for(int x=1;x<=5;x++) {
                for(int y=x;y<=4;y++){
                        System.out.print(" ");
                }
                for(int z=1;z<=x;z++){
                        if(z==1||z==x) {                       //输出上边左右侧的边
                                System.out.print("* ");
                        }else{
                System.out.print("  ")        ;
                             }
                     }
                System.out.println();
                  }
                for(int m=1;m<=4;m++) {
                        for(int k=1;k<=m;k++){
                                System.out.print(" ");
                            }       
                        for(int n=        m;n<=4;n++        ){
                                if(n==m||n==4){                   //输出上边左右侧的边
                                        System.out.print("* ");
                                }else{
                                        System.out.print("  ");
                                 }
                          }
                        System.out.println();
                        }
               
     }
       
       
}
作者: 由然自美    时间: 2014-1-1 11:23
class ForForDemo1{
        public static void main(String[] args)
        {
                for (int x=1;x<6 ;x++ ) {
                        for (int y=x;y<5 ;y++ ) {
                                System.out.print(" ");
                        }
                        for (int z=1;z<=x ;z++ ) {
                                if(z==x||z==1){//上边左右两侧的
                                System.out.print("* ");
                                }else{
                                System.out.print("  ");
                                }
                        }
                        System.out.println();
                }
                for (int a=1;a<6 ;a++ ) {
                        for (int b=1;b<=a ;b++ ) {
                                System.out.print(" ");
                        }
                        for (int c=a;c<5 ;c++ ) {
                                if (c==a||c==4) {//下边的
                                System.out.print("* ");
                                }else{
                                System.out.print("  ");
                                }
                        }
                        System.out.println();
                }
               
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2