java打印输出任意大小的等腰三角形,实心菱形,空心菱形,平行四边形

import java.util.Scanner;
public class PrintShape {
	public static void main(String[] args) {
		Scanner sc= new Scanner(System.in);
		boolean flag= true;//设置值为true,进入循环
		int row= 0;
		int choice= 0;
		do {//菜单栏循环
			System.out.println("------请输入需要输出的图形------");
			System.out.println("\t1.输出等腰三角形");
			System.out.println("\t2.输出实心菱形");
			System.out.println("\t3.输出空心菱形");
			System.out.println("\t4.输出平行四边形");
			System.out.println("\t5.退出系统");
			System.out.println("\t请输入选项:");
			choice= sc.nextInt();
			switch(choice) {
			case 1:
				System.out.println("请输入行数i的值:");
				row= sc.nextInt();
				showEquicuralTriangle(row);
				waitInput();
				break;
			case 2:
				System.out.println("请输入上半部分的行数i的值:");
				row= sc.nextInt();
				showSolidDiamond(row);
				waitInput();
				break;
			case 3:	
				System.out.println("请输入上半部分的行数i的值:");
				row= sc.nextInt();
				showHollowDiamond(row);
				waitInput();
				break;
			case 4:
				System.out.println("请输入行数i的值:");
				row= sc.nextInt();
				showParallelogram(row);
				waitInput();
				break;
			case 5:
				System.exit(0);
				waitInput();
				break;
			}
		}while(flag);//当退出系统时值为0,即为false是退出循环系统
	}

	public static void waitInput() {//每个选项之后,即输出图形的方法都调用此方法
		Scanner sc= new Scanner(System.in);
		System.out.println("按任意键继续。。。。。。");
	    sc.nextLine();
	}

	public static void showParallelogram(int row) {
		int i,j,k;
		for(i=1; i<=row; i++) {
			for(j=1; j<=row-i; j++) {
				System.out.print(" ");
			}
			for(k=1; k<=3*row; k++) {//平行四边形的宽可自定义为任意值,这里定义为3*row
				System.out.print("*");
			}
			System.out.println();
		}
		
	}

	public static void showHollowDiamond(int row) {
		int i,j,k;
		for(i=1; i<=row; i++) {//输出空心菱形的上半部分
			for(j=1; j<=row-i; j++) {
				System.out.print(" ");
			}
			for(k=1; k<=2*i-1; k++) {
				if(k==1 || k==2*i-1) {//在实心菱形的基础上打印菱形的边缘,实心的内部为空即只有k==1和k==2*i-1时为*号
					System.out.print("*");
				}else {
					System.out.print(" ");//菱形内部其他的都为空
				}
			}
			System.out.println();
		}//空心菱形的上半部分和等腰三角形是一样的
		for(i=1; i<row; i++) {//输出空心菱形的下半部分
			for(j=1; j<=i; j++) {//表示第i行有i个空格
				System.out.print(" ");
			}
			for(k=1; k<=2*(row-i)-1; k++) {//表示第i行有2*(row-i)-1个*号
				if(k==1 || k==2*(row-i)-1) {
					System.out.print("*");
				}else {
					System.out.print(" ");
				}
			}
			System.out.println();
		}
	}
	

	public static void showSolidDiamond(int row) {
		int i,j,k;
		for(i=1; i<=row; i++) {//输出实心菱形的上半部分
			for(j=1; j<=row-i; j++) {
				System.out.print(" ");
			}
			for(k=1; k<=2*i-1; k++) {
				System.out.print("*");
			}
			System.out.println();
		}//实心菱形的上半部分和等腰三角形是一样的
		for(i=1; i<row; i++) {//输出实心菱形的下半部分
			for(j=1; j<=i; j++) {//表示第i行有i个空格
				System.out.print(" ");
			}
			for(k=1; k<=2*(row-i)-1; k++) {//表示第i行有2*(row-i)-1个*号
				System.out.print("*");
			}
			System.out.println();
		}
	}

	public static void showEquicuralTriangle(int row) {//输入等腰三角形
		for(int i=1; i<=row; i++) {//最外层循环,i控制行数
			for(int j=1; j<=row-i; j++) {//j表示输出空格,即第i行有row-i个空格
				System.out.print(" ");
			}
			for(int k=1; k<=i*2-1; k++) {//k表示输出*号,即第i行有i*2-1个*号
				System.out.print("*");
			}
			System.out.println();//每输出一行后换行
		}
		
	}
}

 

菜单运行图:

输出等腰三角形:

public static void showEquicuralTriangle(int row) {//输入等腰三角形
		for(int i=1; i<=row; i++) {//最外层循环,i控制行数
			for(int j=1; j<=row-i; j++) {//j表示输出空格,即第i行有row-i个空格
				System.out.print(" ");
			}
			for(int k=1; k<=i*2-1; k++) {//k表示输出*号,即第i行有i*2-1个*号
				System.out.print("*");
			}
			System.out.println();//每输出一行后换行
		}
		
	}

输出等腰三角形运行图: 

 

输出实心菱形:

public static void showSolidDiamond(int row) {
		int i,j,k;
		for(i=1; i<=row; i++) {//输出实心菱形的上半部分
			for(j=1; j<=row-i; j++) {
				System.out.print(" ");
			}
			for(k=1; k<=2*i-1; k++) {
				System.out.print("*");
			}
			System.out.println();
		}//实心菱形的上半部分和等腰三角形是一样的
		for(i=1; i<row; i++) {//输出实心菱形的下半部分
			for(j=1; j<=i; j++) {//表示第i行有i个空格
				System.out.print(" ");
			}
			for(k=1; k<=2*(row-i)-1; k++) {//表示第i行有2*(row-i)-1个*号
				System.out.print("*");
			}
			System.out.println();
		}
	}

输出实心菱形运行图: 

 

输出空心菱形:

public static void showHollowDiamond(int row) {
		int i,j,k;
		for(i=1; i<=row; i++) {//输出空心菱形的上半部分
			for(j=1; j<=row-i; j++) {
				System.out.print(" ");
			}
			for(k=1; k<=2*i-1; k++) {
				if(k==1 || k==2*i-1) {//在实心菱形的基础上打印菱形的边缘,实心的内部为空即只有k==1和k==2*i-1时为*号
					System.out.print("*");
				}else {
					System.out.print(" ");//菱形内部其他的都为空
				}
			}
			System.out.println();
		}//空心菱形的上半部分和等腰三角形是一样的
		for(i=1; i<row; i++) {//输出空心菱形的下半部分
			for(j=1; j<=i; j++) {//表示第i行有i个空格
				System.out.print(" ");
			}
			for(k=1; k<=2*(row-i)-1; k++) {//表示第i行有2*(row-i)-1个*号
				if(k==1 || k==2*(row-i)-1) {
					System.out.print("*");
				}else {
					System.out.print(" ");
				}
			}
			System.out.println();
		}
	}

输出空心菱形运行图: 

 

输出平行四边形:

public static void showParallelogram(int row) {
		int i,j,k;
		for(i=1; i<=row; i++) {
			for(j=1; j<=row-i; j++) {
				System.out.print(" ");
			}
			for(k=1; k<=3*row; k++) {//平行四边形的宽可自定义为任意值,这里定义为3*row
				System.out.print("*");
			}
			System.out.println();
		}
		
	}

输出平行四边形运行图: 

退出菜单运行图: 

退出菜单后按什么键都没有作用

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值