• 利用循环打印图形


    1.打印金字塔。
     public class OutGoldWord {
        public static void main(String[] args) {
            int n=5;
            for(int i=1;i<=n;i++){
                int times=2*i-1;
                int time=0;
                while(time!=(n-i)){
                    System.out.print(" ");
                    time++;
                }
                while(times!=0){
                    System.out.print("*");
                    times--;
                }
                System.out.println();
            }
        }
    }

    2.实心菱形
    public class Test {
    
    	public static void main(String[] args) {
    		for(int i=0;i<=3;i++){
    			for(int j=0;j<3-i;j++){
    				System.out.print(" ");
    			}
    			for(int k=0;k<2*i+1;k++){
    				System.out.print("*");
    			}
    			System.out.println();
    		}
    		for(int i=0;i<3;i++){
    			for(int k=0;k<=i;k++){
    				System.out.print(" ");
    			}
    			for(int j=0;j<5-2*i;j++){
    				System.out.print("*");
    			}
    			System.out.println();
    		}
    	}
    
    }

    3.空心菱形

    ---方法1

    public class DiamondTest {
    
    	/**打印空心菱形
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		int size=10;
    		if(size%2==0){
    			size++;
    		}
    		for(int i=0;i<size/2+1;i++){
    			for(int j=size/2+1;j>i+1;j--){
    				System.out.print(" ");   //输出左上角位置的空白
    			}
    		
    		for(int j=0;j<2*i+1;j++){
    			if(j==0||j==2*i){
    			System.out.print("*");  //输出菱形上半部边缘
    			}else{
    				System.out.print(" ");   //输出菱形下半部空心
    		    }
    	      }
    		System.out.println(" ");
    		}
    		for(int i=size/2+1;i<size;i++){
    			for(int j=0;j<i-size/2;j++){
    				System.out.print(" ");//输出菱形左下角空白
    			}
    			for(int j=0;j<2*size-1-2*i;j++){
    				if(j==0||j==2*(size-i-1)){
    					System.out.print("*");//输出菱形下半部边缘
    				}else{
    					System.out.print(" ");//输出菱形下半部空心
    				}
    			}
    			System.out.println("");
    		}
    	}
    }
    ---方法2

    /**
     * @author fcs
     * 打印空心菱形
     * 2014-10-7
     */
    public class Test {
    	public static void main(String[] args) {
    		for(int i=0;i<6;i++){//首先打印上面6行
    			for(int j=0;j<5-i;j++){//找出左上部分每行空白与行数的关系
    				System.out.print(" ");
    			}
    			System.out.print("*");//空白结束用*封尾
    			for(int k=0;k<2*i-1;k++){//每行两个*之间的空白与行数的关系
    				System.out.print(" ");
    			}
    			if(i>0)
    			System.out.print("*");//除第一行之外,剩下的几排末尾都有一个星号
    			System.out.println();
    		}
    		for(int i=0;i<5;i++){//处理下面4行
    			for(int j=0;j<i+1;j++){//原理同上
    				System.out.print(" ");
    			}
    			System.out.print("*");
    			for(int k=0;k<8-2*i-1;k++){
    				System.out.print(" ");
    			}
    			if(i<4)
    			System.out.print("*");
    			System.out.println();
    		}
    	}
    }
    


    ================================== 赵客缦胡缨,吴钩霜雪明。 银鞍照白马,飒沓如流星。 ==================================
  • 相关阅读:
    Tarjan 的一些板子
    对 SAM 和 PAM 的一点理解
    一些敲可爱的数论板子
    异常
    面向对象编程
    JAVA数组
    JAVA方法
    JAVA流程控制
    JAVA基础
    JAVA入门
  • 原文地址:https://www.cnblogs.com/lucare/p/9312692.html
Copyright © 2020-2023  润新知