Java控制台打印爱心算法(今典算法案例) - Go语言中文社区

Java控制台打印爱心算法(今典算法案例)


Java控制台打印爱心算法(今典算法案例)

要求:利用java语言编写算法在控制台打印爱心算法(根据输入参数的大小决定爱心的大小);

先给大家看看运行的结果吧

输入6
在这里插入图片描述

输入8
在这里插入图片描述

输入10
在这里插入图片描述

相信大家在学习算法的时候都有过这个想法,做一个爱心,以为只有这样子我们程序猿才能找到女盆友,获得女盆友的芳心。

可能大家会觉得比较难,根据这个爱心的形状不知道怎么分析,任何事物只要你仔细的分析都是有规律可巡的,最底层的算法就是找规律(相信大家小时候没少找规律吧!),来今天我来教大家用最sb的方法写这个爱心,希望我也能因此找到那个她

思路:

其实这个爱心就是三个三角形,上面两个(少了一个顶),下面一个(倒立),就完了

还有就是要根据输入的参数找到打印 “ * ” 的规律:

假如我们输入的参数的k

最上面两个三角形的底部为k-2个星号,最下面的倒立三角形的底部为(2*k)-1个星号

最主要的是上面两个三角形少一个顶

最后直接贴代码,代码非常简单大家都看得懂

public static void main(String[] args) {
		System.out.println("请输入一个的按预定偶数:");
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		if (a > 2 && a % 2 == 0) {
			aixing(a);
		} else {
			System.out.println("输入的数据不正确请重新输入!");
		}
	}

	public static void aixing(int ai) {
		int Q = ai / 2 - 1; // 确定上面部分的行数
		int W = ai - 2; // 确定上面部分底部的星号个数
		// 循环得到上面部分
		for (int i = 1; i <= Q; i++) {
			// 得到第一个空格三角形
			for (int a = Q; a > i - 1; a--) {
				System.out.print(" ");
				System.out.print(" ");
			}
			// 得到第一个突出的三角形
			for (int b = 1; b < i + 1; b++) {
				System.out.print("*");
				System.out.print(" ");
			}
			for (int d = 1; d < i + 1; d++) {
				System.out.print("*");
				System.out.print(" ");
			}
			// 得到中间的空格三角形
			for (int r = Q; r >= i + 1; r--) {
				System.out.print(" ");
				System.out.print(" ");
			}
			for (int t = Q + 1; t >= i + 1; t--) {
				System.out.print(" ");
				System.out.print(" ");
			}

			// 得到后面的突出三角形
			for (int b = 1; b < i + 1; b++) {
				System.out.print("*");
				System.out.print(" ");
			}
			for (int d = 1; d < i + 1; d++) {
				System.out.print("*");
				System.out.print(" ");
			}
			System.out.println();
		}
		// 下面部分
		for (int w = 1; w <= ai; w++) {
			for (int e = 1; e < w; e++) {
				System.out.print(" ");
				System.out.print(" ");
			}
			for (int r = ai; r >= w; r--) {
				System.out.print("*");
				System.out.print(" ");
			}
			for (int t = ai; t > w; t--) {
				System.out.print("*");
				System.out.print(" ");
			}
			System.out.println();

		}

	}

大家按照我这个方法写出来的代码运行会发现一个点:

那就是只能在控制台输入偶数,因为这个规律我是按照偶数的思路去想的,大家可以尝试其他的思路

我这个方法是最繁琐的办法,还有很多简单的方法,最主要的循环次数多了,代码效率会减低!我这里不提供另外的一种简便方法了,大家可以自己思考(其实也就是这个思路,只不过循环次数减少了很多)

最后希望大家都能找到女盆友!!!

的方法,最主要的循环次数多了,代码效率会减低!我这里不提供另外的一种简便方法了,大家可以自己思考(其实也就是这个思路,只不过循环次数减少了很多)

最后希望大家都能找到女盆友!!!

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43540973/article/details/108814746
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2023-01-02 09:52:05
  • 阅读 ( 183 )
  • 分类:算法

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢