67,549
社区成员




package app.base;
import java.util.Arrays;
/**
* @author faith.huan 2019-11-08 22:06
*/
public class PrintImage {
// #号
private static final byte HASH = 35;
// 空格
private static final byte SPACE = 32;
public static void main(String[] args) {
print(5, 0);
}
private static void print(int totalRow, int currentRow) {
// 总长度
int totalLength = totalRow * 4 - 1;
// 左右两侧空格数
int space = currentRow * 2;
// #数
int hash = totalLength - space * 2;
String spaceStr = repeat(SPACE, space);
String hashStr = repeat(HASH, hash);
System.out.println(spaceStr + hashStr + spaceStr);
if (++currentRow < totalRow) {
print(totalRow, currentRow);
}
}
private static String repeat(byte b, int count) {
final byte[] single = new byte[count];
Arrays.fill(single, b);
return new String(single);
}
}
public class Sample {
public static void main(String[] args) {
print1(5); //以总行数为基准
print2(4); //以行的下标为基准
}
public static void print1(int n) {
if (n==0) return; //递归结束条件
for (int i=0; i<2*(5-n); i++) { //每行的空格数规律
System.out.print(" ");
}
for (int i=0; i<4*n-1; i++) { //每行的#数的规律
System.out.print("#");
}
System.out.println();
print1(n-1); //递归
}
public static void print2(int n) {
for (int i=0; i<2*(4-n); i++) { //每行的空格数规律
System.out.print(" ");
}
for (int i=0; i<4*n+3; i++) {//每行的#数的规律
System.out.print("#");
}
System.out.println();
if (n==0) return; //递归结束条件
print2(n-1); //递归
}
}