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

 

菜单运行图:

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

输出等腰三角形:

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();//每输出一行后换行
		}
		
	}

输出等腰三角形运行图: 

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

输出实心菱形:

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

输出实心菱形运行图: 

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

输出空心菱形:

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

输出空心菱形运行图: 

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

输出平行四边形:

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();
		}
		
	}

输出平行四边形运行图: 

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

退出菜单运行图: 

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

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

你可能感兴趣的:(java打印输出任意大小的等腰三角形,实心菱形,空心菱形,平行四边形)