Java练习:打印各类图形(等腰三角形、直角三角形、实心菱形、空心菱形)

Java打印各类图形(等腰三角形、直角三角形、实心菱形、空心菱形)

学习笔记,方便本身往后复习,也可供你们参考学习javascript

1.打印等腰三角形
代码:java

// 打印出等腰三角形
	@Test
	public void demo04() {
		for (int i = 1; i <= 5; i++) { // 控制行数
			for (int j = 5 - i; j >= 0; j--) { // 控制每一行星星前面的空格数
				System.out.print(" ");
			}
			for (int j = 0; j < 2 * i - 1; j++) {// 控制星星数
				System.out.print("*");
			}
			System.out.println();//分行,开始下一行的输出
		}
	}

运行截图:
在这里插入图片描述
2.打印直角三角形web

// 打印直角三角形
	@Test
	public void demo05() {
		for (int i = 1; i <= 5; i++) {//控制行数
			for (int j = 0; j < i; j++) {//控制每一行的星星数
				System.out.print("*");
			}
			System.out.println();//开始下一行
		}
	}

运行截图:
在这里插入图片描述
3.打印实心菱形
分析:在这里菱形组成能够看为两个等腰三角形组成,能够拆解为打印一个正立三角形,一个倒立三角形。因为中间所画的这条对角线只能有一个,因此要么正立三角形星星的行数比倒立三角形星星的行数少一行,要么倒立三角形星星的行数比正立三角形星星的行数少一。
在这里插入图片描述
代码:svg

// 打印实心菱形
	@Test
	public void demo06() {
		// 第一个等腰三角形(正着的)
		for (int i = 0; i < 5; i++) {// 控制行数
			for (int j = 0; j < 5 - i; j++) {//控制每一行星星前面的空格数
				System.out.print(" ");
			}
			for (int j = 0; j < 2 * i - 1; j++) {//控制每一行星星数
				System.out.print("*");
			}
			System.out.println();//分行,开始下一行的输出
		}
		// 第二个等腰三角形(倒着的)
		for (int i = 3; i > 0; i--) {// 控制行数
			for (int j = 4 - i; j >= 0; j--) {//控制每一行星星前面的空格数
				System.out.print(" ");
			}
			for (int j = 0; j < 2 * i - 1; j++) {//控制每一行星星数
				System.out.print("*");
			}
			System.out.println();//分行,开始下一行的输出
		}
	}

运行截图:
在这里插入图片描述
4.打印空心菱形
分析:这个思路和打印实心菱形大体同样,不过就是只显示四个边的星星,中间部分的让其不显示,能够先判断它是否等于初始值或者结束值,若是等于这两个值其中一个就让其输出为“*”,若是不是就输出为空格(" ").
代码:学习

// 打印空心菱形
	@Test
	public void demo07() {
		// 第一个等腰三角形(正着的)
		for (int i = 0; i < 5; i++) {// 控制行数
			for (int j = 0; j < 5 - i; j++) {//控制每一行星星前面的空格数
				System.out.print(" ");
			}
			for (int j = 0; j < 2 * i - 1; j++) {//控制每一行星星数
				if (j == 0 || j == 2 * i - 2) {//若是为开头或者结尾则输出星星
					System.out.print("*");
				} else {						//其余(中间)输出空格,不让其显示
					System.out.print(" ");
				}
			}
			System.out.println();//换行
		}
		// 第二个等腰三角形(倒着的)
		for (int i = 3; i > 0; i--) {// 控制行数
			for (int j = 4 - i; j >= 0; j--) {//控制每一行星星前面的空格数
				System.out.print(" ");
			}
			for (int j = 0; j < 2 * i - 1; j++) {//控制每一行星星数
				if (j == 0 || j == 2 * i - 2) {//若是为开头或者结尾则输出星星
					System.out.print("*");
				} else {						//其余(中间)输出空格,不让其显示
					System.out.print(" ");
				}
			}
			System.out.println();//换行
		}
	}

运行截图:
在这里插入图片描述spa