本帖最后由 游呤人 于 2015-7-18 03:04 编辑
/*
* 这个三角形是一个等等腰三角形
* 第一行是 是一个 * ,第二行是两个* ...第N行正好是2*N-1
* 那么我们可以这样考虑假设一(n)*(2*n-1)最后一行填满,第N-1行前后两段正好是没有..
* 如次一次递减,但是这样很不好处理,于是就假设第一行是满行,向下依次递减.
* 但是这样就要倒过来输出.
*
* */
public class Triangle {
public static void fun(int h){
if(h==0){
return;
}
String[][] arr=new String[h][2*h-1];
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length;j++){
if(j<i||j>(arr.length-1)-i){
arr[j]=" ";
}else{
arr[j]="*";
}
}
}
for(int i=arr.length-1;i>-1;i--){
for(int j=0;j<arr.length;j++){
System.out.print(arr[j]);
}
System.out.print('\n');
}
}
public static void main(String[] args) {
Triangle.fun(4);
}
}
输出效果
|
|