Java打印菱形和空心菱形

菱形代码如下:

package demo;

import java.util.Scanner;

public class Test1 {
          
   

	public static void main(String[] args) {
          
   
		Scanner sc = new Scanner(System.in);//与键盘建立连接
		System.out.println("请输入需要打印的菱形:");
		int num = sc.nextInt();//得到菱形最大对角线高度

		// 上半部分
		// 外循环控制每行打印内容
		for (int i = 0; i < num; i++) {
          
   
			// 控制此行打印空白数量
			for (int j = 0; j < num - i - 1; j++) {
          
   
				System.out.print(" ");
			}
			// 控制此行打印*的数量
			for (int j = 0; j <= i; j++) {
          
   
				System.out.print("* ");
			}
			System.out.println();// 换行打印下一行
		}

		// 下半部分
		// 上半部分因最长一行已经打印,所以num-1
		for (int i = 0; i < num - 1; i++) {
          
   
			// 控制每行空白数量
			for (int j = 0; j <= i; j++) {
          
   
				System.out.print(" ");
			}
			// 控制每行*数
			for (int j = 0; j <= num - i - 2; j++) {
          
   
				System.out.print("* ");
			}
			System.out.println();// 换行打印
		}
	}
}

打印结果如下: 空心菱形代码如下:

package demo;

import java.util.Scanner;

public class Test1_2 {
          
   

	public static void main(String[] args) {
          
   
		Scanner sc = new Scanner(System.in);// 与键盘建立连接
		System.out.println("请输入需要打印的菱形:");
		int num = sc.nextInt();// 得到菱形最大对角线高度

		//上半部分
		for (int i = 1; i <= num; i++) {
          
   
			// 打印空格
			for (int j = 1; j <= num - i; j++) {
          
   
				System.out.print(" ");
			}
			//判断第一个和最后一个需要打印*
			for (int j = 1; j <= i; j++) {
          
   
				if (j == 1 || j == i) {
          
   
					System.out.print("* ");
				} else {
          
   
					System.out.print("  ");
				}
			}
			System.out.println();//换行打印下一行
		}
		
		//下半部分
		for (int i = 1; i <= num - 1; i++) {
          
   
			// 打印空格
			for (int j = 1; j <= i; j++) {
          
   
				System.out.print(" ");
			}
			//判断第一个和最后一个需要打印*
			for (int j = 1; j <= num - i; j++) {
          
   
				if (j == 1 || j == num - i) {
          
   
					System.out.print("* ");
				} else {
          
   
					System.out.print("  ");
				}
			}
			System.out.println();//换行打印下一行
		}
	}
}

打印结果如下:

经验分享 程序员 微信小程序 职场和发展