java

基于控制台打印金字塔:


import java.util.Arrays;
import java.util.Scanner;

public class Pyramid {

/**
* @param args
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入要打印的层数:");
int number = input.nextInt();
print(number,'j');

}
/**
*
* @param floor 要打印金字塔的层数
* @param c 组成金字塔的字符
*/
private static void print(int floor,char c){
if(floor<1)
throw new IllegalArgumentException("层数不能少于1!");
for (int i = 1; i <=floor; i++) {
//当前层字符前要打印的空格数
int space_head = floor - i;
char [] sh = new char[space_head];
Arrays.fill(sh, ' ');
System.out.print(new String(sh));
//当前层要打印的字符数
int charNum = 2*i-1;
char [] chars = new char[charNum];
Arrays.fill(chars, c);
System.out.print(new String(chars));
//当前层字符后要打印的空格数
int space_back = floor - i;
char [] sb = new char[space_back];
Arrays.fill(sb, ' ');
System.out.print(new String(sb)+"\n");
}
}

}
知识点:
1.控制台手动输入,Scanner对象的应用。
2.char数组的创建及Arrays类方法fill的应用。

逻辑:
对金字塔结构进行分析,当前层要打印的空格数、字符数以及当前层打印完成后的换行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值