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

[img]http://dl.iteye.com/upload/attachment/0079/4844/ad5641aa-d15d-3398-bdfc-76e88d880211.png[/img]
实现等边三角形的方法很多,我这里使用了其中的一个方法,我的实现思路是:将等边三角形补全成一个矩形,一共分成四块实现红线中两块,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替换成空格就是一个等边三角形了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值