public class Exercise05_19 {//以金字塔图案打印数字
public static void main(String[] args) {
final int LINES = 8;//定义打印行数
for (int i = 1; i <= LINES; i++){//控制打印行数,打印LINES行,i代表行数
//打印前LINES行左侧的空格
if (i != LINES){
for (int j = 1; j <= LINES - i; j++){//前LINES行各行有(LINES-i)*4个空格
System.out.printf(" ");//空格数量可自定义,使金字塔整齐即可
}
}
//打印左侧数字(包含中间数)
for (int k = 1; k <= (int)(Math.pow(2,i - 1)); k *= 2){//各行的中间数为2*(i - 1),一行中的数字按*2变化
System.out.printf("%4d",k);
}
//打印右侧数字
for (int l = (int)(Math.pow(2,i - 2)); l >= 1; l /= 2){//一行中的数字按/2变化
System.out.printf("%4d",l);
}
System.out.println();//换行
}
}
}
java黑皮书课后习题5.19
最新推荐文章于 2024-07-09 16:46:46 发布