A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ContainsM 中级黑马   /  2016-1-17 17:10  /  1775 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. 代码:
  2.         public static void main(String[] args) {
  3.                 // TODO Auto-generated method stub
  4.                 char c = 'A';
  5.                 StringBuilder bu = null;
  6.                 StringBuilder re = new StringBuilder();
  7.                 for (int i = 0; i < 26; i++) {
  8.                         bu = new StringBuilder();
  9.                         for (int j = 0; j <= i; j++) {
  10.                                 bu.append((char) (c + j));
  11.                         }
  12.                         for (int x = 0; x < 26 - i; x++) {
  13.                                 re.append("  ");
  14.                         }
  15.                         re.append(bu).append(bu.reverse().substring(1)).append("\r\n");
  16.                 }
  17.                 System.out.println(re);
  18.         }
复制代码

打印结果:
                                                    A
                                                  ABA
                                                ABCBA
                                              ABCDCBA
                                            ABCDEDCBA
                                          ABCDEFEDCBA
                                        ABCDEFGFEDCBA
                                      ABCDEFGHGFEDCBA
                                    ABCDEFGHIHGFEDCBA
                                  ABCDEFGHIJIHGFEDCBA
                                ABCDEFGHIJKJIHGFEDCBA
                              ABCDEFGHIJKLKJIHGFEDCBA
                            ABCDEFGHIJKLMLKJIHGFEDCBA
                          ABCDEFGHIJKLMNMLKJIHGFEDCBA
                        ABCDEFGHIJKLMNONMLKJIHGFEDCBA
                      ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA
                    ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA
                  ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA
                ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA
              ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA
            ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA
          ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA
        ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA
      ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA
    ABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA
  ABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONMLKJIHGFEDCBA

3 个回复

倒序浏览
不错啊,想的很好啊,刚开始我看了半天,直到查了下API,又看了循环后的两行,才明白原理。虽然还是打印等腰三角形的老例子,但是使用了StringBuilder,数据类型的自动转型,强转,取子串最有亮点,挺好!
回复 使用道具 举报
宋达思 发表于 2016-1-17 18:17
不错啊,想的很好啊,刚开始我看了半天,直到查了下API,又看了循环后的两行,才明白原理。虽然还是打印等 ...

有交流群吗? 发一个呗。
回复 使用道具 举报
public class Test1 {

        public static void main(String[] args) {
                for (int i = 0; i < 26; i++) {
                        for (int j = 0; j < 26-1-i; j++) {
                                System.out.print(" ");
                        }
                        print(i,0);
                        System.out.println();
                }
        }
        public static void print(int n,int index){
                if(index<=n){
                        int position=(int)'A'+index;
                        System.out.print((char)(position));
                        print(n,index+1);
                        if(position!=(int)'A'+n)
                                System.out.print((char)(position));
                }
                else{
                        return;
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
洋葱头头 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马