`
jin8000608172
  • 浏览: 135754 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java实现等边三角形--小程序,大思想

阅读更多

实现等边三角形的方法很多,我这里使用了其中的一个方法,我的实现思路是:将等边三角形补全成一个矩形,一共分成四块实现红线中两块,0补全和*,蓝线中两块,0补全和*,红线中0从第0层到第4层分别是4,3,2,1,0个;红线中的*从0层到4层分别是1,2,3,4,5个;蓝线中*从0到4层分别是0,1,2,3,4个;蓝线中0从0到4层分别是4,3,2,1,0个。写这个的目的不是为了实现等边三角形,而是为了传递一个思想,就是我们要把一个貌似很难找到规律的东西分解成若干个有规律的部分,然后转换成程序实现。这样对于我们处理一个复杂的问题很有帮助。

实心等边三角形:
public static void main(String[] args) {
		int n = 5;
		String c = "0";
		String x = "*";
		for (int i = 0; i < n; i++) {
			for (int k = 0; k < n - i - 1; k++) {
				System.out.print(c);
			}
			for (int k = 0; k < i + 1; k++) {
				System.out.print(x);
			}
			for (int k = 0; k < i; k++) {
				System.out.print(x);
			}
			/**
			 * 一下注释掉的代码属于多余的代码,本程序只需要分成三块实现
			 */
//			for (int k = 0; k < n - i - 1; k++) {
//				System.out.print(c);
//			}
			System.out.println();
		}
	}



空心等边三角形:
public static void main(String[] args) {
		int n = 6;
		String c = " ";
		String x = "*";
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < 2 * n; j++) {
				if (j == (n - i) || j == (n + i)) {
					System.out.print(x);
				} else {
					System.out.print(c);
				}

			}
			System.out.println();
		}
		for(int j=0;j<2*(n+1)-1;j++){
			System.out.print(x);
		}
		
	}



倒等边三角形:

public static void main(String[] args) {
		int n = 5;
		String c = " ";
		String x = "*";
		for(int j=0;j<2*(n+1)-1;j++){
			System.out.print(x);
		}
		System.out.println();
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < 2 * n; j++) {
				if (j == i+1 || j == (2*n - i-1)) {
					System.out.print(x);
				} else {
					System.out.print(c);
				}
				
			}
			System.out.println();
		}
		
	}


将0替换成空格就是一个等边三角形了!
  • 大小: 3.3 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics