Java打印各种形状 心形 菱形 三角形 圆形

Java打印各种形状 心形 菱形 三角形 圆形


public class TestPrint {

	/**
	 * 打印*号
	 */
	public static void main(String[] args) {
		// 正方体
		System.out.println("\n打印正方形-----------------------------\n");
		for (int i = 0; i < 5; i++) {
			for (int j = 0; j < 5; j++)
				System.out.print("* ");
			System.out.println();
		}

		System.out.println("\n\n正三角-----------------------------\n");
		// 正三角体
		for (int i = 0; i < 5; i++) {
			for (int j = 0; j <= i; j++)
				System.out.print("* ");
			System.out.println();
		}

		System.out.println("\n\n倒三角-----------------------------\n");
		// 倒三角体
		for (int i = 0; i < 5; i++) {
			for (int j = 5; j > i; j--)
				System.out.print("* ");
			System.out.println();
		}

		// 打印正实心三角
		System.out.println("\n\n打印正实心三角-----------------------------\n");
		int count = 4;
		for (int i = 0; i < count; i++) {
			// 空格 行数-1 递减
			for (int k = count - 1; k > i; k--) {
				System.out.print(' ');
			}

			/*
			 * for(int j = 0;j <= 2 * i; j++){ //*号 System.out.print("*"); }
			 */

			for (int j = 0; j <= i; j++) { // *号
				if (j == 0)
					System.out.print("*");
				else
					System.out.print("**");
			}

			System.out.println();

		}

		// 打印三角
		System.out.println("\n\n打印空心三角-----------------------------\n");
		int length = 9;
		for (int i = 1; i <= length; i++) {
			// 打印空格
			for (int j = 0; j <= length - i; j++) {
				System.out.print(' ');
			}
			// 打印*
			System.out.print('*');
			for (int j = 1; j < 2 * (i - 1); j++) {
				System.out.print(' ');
			}
			// 打印*
			if (i != 1)
				System.out.println('*');
			System.out.println();// 换行
		}
		
		// 打印心形
		aiXin();
		//打印空心圆
		circle();
		//菱形◆
		daimond();
	}

	private static void daimond() {
		// TODO Auto-generated method stub
		System.out.println("\n\n打印菱形-----------------------------\n");
		for(int i = 1; i <= 5; i++){
            for(int j = 1; j <= 5 - i; j++){
                System.out.print(" ");
            }
            for(int j = 1; j <= 2 * i - 1; j++){
                System.out.print("*");
            }
            System.out.println();
        }
        for(int i = 4; i > 0; i--){
            for(int j = 1; j <= 5 - i; j++){
                System.out.print(" ");
            }
            for(int j = 1; j <= 2 * i - 1; j++){
                System.out.print("*");
            }
            System.out.println();
        }
	}

	/**
	 *打印心形
	 *爱心的公式 (x²+y²-1)³-x²*y³=0
	 */
	public static void aiXin() {
		System.out.println("\n\n打印心型-----------------------------\n");
		for (float y = (float) 1.5; y > -1.5; y -= 0.1) {
			for (float x = (float) -1.5; x < 1.5; x += 0.05) {
				float a = x * x + y * y - 1;
				if ((a * a * a - x * x * y * y * y) <= 0.0) {
					System.out.print("*");
				} else
					System.out.print(" ");
			}
			System.out.println();
		}
	}
	
	public static void circle(){
		System.out.println("\n\n打印空心圆-----------------------------\n");
        int r=15;//圆形的半径
         for (int y = 0; y <= 2 * r; y += 2) {//y的步长为2,改变y的步长可以将圆形变成椭圆  
            int x = (int)Math.round(r - Math.sqrt(2 * r * y - y * y));  
            int len = 2 * (r - x);  

            for (int i = 0; i <= x; i++) {  
                System.out.print(' ');  
            }
            System.out.print('*');  

            for (int j = 0; j <= len; j++) {  
                System.out.print(' ');  
            }  
            System.out.println('*');  

        } 
    }
	
}

效果:

Java打印各种形状 心形 菱形 三角形 圆形
Java打印各种形状 心形 菱形 三角形 圆形
Java打印各种形状 心形 菱形 三角形 圆形
Java打印各种形状 心形 菱形 三角形 圆形
圆形心形参考:https://blog.csdn.net/qq_39098813/article/details/79781396
菱形参考:https://blog.csdn.net/blue_hh/article/details/75528560

题目 招募最优解!万分感谢

Java打印各种形状 心形 菱形 三角形 圆形