输出字母金字塔

题目:

字母金字塔
输入一个数字n (2<n<50)表示层数,输出字母金字塔。
     A
   BAB
  CBABC
 DCBABCD
EDCBABCDE

思路如下:

假设数字是5,把5当做char数组长度,char数组里装入ABCDE,把char数组转成String,得到的字符串再转成char,最终输出EDCBABCDE,运行结果如图:

加一个while循环,控制层数,运行结果如图:

再加入输出的空格,运行结果如图:

最后加入键盘输入,while循环,异常处理。

代码如下:

package zuoye;

//2017.03.17 by小方
import java.util.Scanner;

public class F0317{
    public static void main(String[] args){
        while(true){
            try{
                Scanner scan=new Scanner(System.in);
                System.out.println("请您输入数字n(2<n<50),退出请按exid:");
                String s2=scan.nextLine().trim();
                if(s2.equals("exid")) break;
                int a=Integer.parseInt(s2);
                if(a<=2||a>=50) throw new Exception() ;
                
                int n=1;
                while(n<=a){
                    for(int j=0;j<a-n;j++)  
                    {  
                        System.out.print(" "); 
                    }  
                    char cc[]=new char[n];
                    for(int i=0;i<cc.length;i++){
                        cc[i]=(char)('A'+i);
                    }
                    String s = new String(cc);
                    for (int i = s.length()-1; i>=0 ;i--) {
                           System.out.print(s.charAt(i));
                     }
                    for(int i=1;i<s.length();i++){
                         System.out.print(s.charAt(i));
                    }
                    System.out.println();
                    n++;
                }
            }
            catch(Exception e){
                System.out.println("输入无效");
            }
        }
    }
}

最终运行结果如下:

 

转载于:https://www.cnblogs.com/xr0724/p/6567325.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值