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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓海涛 中级黑马   /  2012-4-13 11:18  /  1573 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

编写一个小应用程序,通过循环语句实现输出如下图案:
                            A
                           B C
                          D E F
                         G H I J
                         K L M N
                          O P Q
                            R S
                              T
把源代码提供一下啊,谢谢!

4 个回复

倒序浏览
不知道是你要的结果么?
  1. class Test{
  2.         public static void main(String[] args){
  3.                 print(4);
  4.         }
  5.        
  6.         static void print(int num){
  7.                 int a=65;
  8.                
  9.                 for(int x=1;x<=num;x++){
  10.                         for(int y=x;y<num;y++){
  11.                                 System.out.print(" ");
  12.                         }
  13.                         for(int y=1;y<=x;y++){
  14.                                 System.out.print((char)(a++ -'A'+65)+" ");
  15.                         }
  16.                         System.out.println();
  17.                 }
  18.                 for(int x=1;x<=num;x++){
  19.                         for(int y=1;y<x;y++){
  20.                                 System.out.print(" ");
  21.                         }
  22.                         for(int y=x;y<=num;y++){
  23.                                 System.out.print((char)(a++ -'A'+65)+" ");
  24.                         }
  25.                         System.out.println();
  26.                 }
  27.         }
  28. }
复制代码

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
欧阳才志 + 3 很给力!
贠(yun)靖 + 1 赞一个!

查看全部评分

回复 使用道具 举报
  1. /*
  2. 需求:
  3.         打印如下图形;
  4.        A
  5.           B C
  6.          D E F
  7.         G H I J
  8.     K L M N
  9.          O P Q
  10.       R S
  11.        T
  12. 步骤:
  13.         可以分为两步,第一步打印一个正的等腰三角形,第二步打印一个倒的等腰三角形;
  14. */
  15. class Test
  16. {
  17.         public static void main(String args[])
  18.         {
  19.                 char[] arr={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T'};
  20.                 //把需要打印的字符存入到char[];
  21.                 int index=0;
  22.                 //用于标记数组的下标;
  23.                 for(int z=0;z<4;z++)
  24.                 //用于控制打印的列;
  25.                 {
  26.                         for(int y=3;y>z;y--)
  27.                         //用于控制打印行--空格;
  28.                         {
  29.                                 System.out.print(" ");
  30.                         }
  31.                         for(int x=0;x<=z;x++)
  32.                         //用于控制打印行--字符;
  33.                         {
  34.                                 System.out.print(arr[index++]+" ");
  35.                         }
  36.                         System.out.println();
  37.                 }
  38.                 for(int z=0;z<4;z++)
  39.                 {
  40.                         for(int y=0;y<z;y++)
  41.                         {
  42.                                 System.out.print(" ");
  43.                         }
  44.                         for(int x=3;x>=z;x--)
  45.                         {
  46.                                 System.out.print(arr[index++]+" ");
  47.                         }
  48.                         System.out.println();
  49.                 }
  50.         }
  51. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 邱俊杰 于 2012-4-13 14:54 编辑
  1. package lianxi_1;

  2. public class text1 {
  3.         public static void main(String[] args)
  4.         {
  5.                 show();
  6. //                System.out.println((char)('A'));
  7.                 /*
  8.                  *  可以分为两部分完成:
  9.                  *  1.     A
  10.                           B C
  11.                          D E F
  12.                         G H I J
  13.                         2.
  14.                          K L M N
  15.                           O P Q
  16.                            R S
  17.                             T
  18.                  * 1,显而易见是使用for循环嵌套、第一段外层为4、内层使用到(char)(65)=A 这样依次类推下去
  19.                  * 定义变量a=65,重点代码为 System.out.print((char)(a++)+" ");
  20.                  * 2.第二段外层也是4、只是内循环有些不同、自己慢慢理解就可以了的。有不懂的请回复
  21.                  * 参考代码如下:
  22.                  */
  23.         }
  24.         
  25.         public static void show()
  26.         {
  27.                 //1.
  28.                 int a=65;
  29.                 for (int i = 0; i < 5; i++)
  30.                 {
  31.                         for (int j = i; j < 4; j++) {
  32.                                 System.out.print(" ");
  33.                         }
  34.                         for (int j = 0; j <i ; j++) {
  35.                                  System.out.print((char)(a++)+" ");
  36.                         }
  37.                         System.out.println();
  38.                 }
  39.                 //2.
  40.                 for (int i = 4; i > 0; i--)
  41.                 {
  42.                         for (int j = i; j < 4; j++)
  43.                         {
  44.                                 System.out.print(" ");
  45.                         }
  46.                         for (int j = 0; j < i; j++)
  47.                         {
  48.                                 System.out.print((char)(a++)+" ");
  49.                         }
  50.                         System.out.println();
  51.                 }
  52.         }
  53.                
  54. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1 赞一个!

查看全部评分

回复 使用道具 举报
我觉得版主应该给我加分~~想了好久的  {:soso_e154:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马