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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴超 金牌黑马   /  2012-5-13 15:12  /  1680 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class DrawTriangle
  2. {
  3.         public static void main(String [] args)
  4.         {
  5.                 int num=9;
  6.                
  7.                 for (int row=1;row<=num ; row++)
  8.                 {
  9.                         int a=1;
  10.                         for (int right= 1; right<=row  ;right++ )
  11.                         {
  12.                                 System.out.print(" "+"");
  13.                         }
  14.                         for (int right=row;right<=num ;right++ )
  15.                         {
  16.                                 System.out.print(a++);       
  17.                         }
  18.                         for (int right=row;right<=num-1 ;right++ )
  19.                         {
  20.                                 a--;
  21.                                 System.out.print(a);
  22.                        
  23.                         }
  24.                         System.out.println(" ");
  25.                        
  26.                 }
  27.         }
  28. }
复制代码

2 个回复

倒序浏览

  1. public class DengHuiSJX {

  2. }
  3. /*
  4. /*
  5. //         12345678987654321
  6. //   123456787654321
  7. //    1234567654321
  8. //     12345654321
  9. //      123454321
  10. //       1234321
  11. //        12321
  12. //         121
  13. //          1
  14. */

  15. class DrawTriangle1
  16. {
  17.         public static void main(String [] args)
  18.         {
  19.                 int num=9;
  20.                
  21.                 for (int row=1;row<=num ; row++)
  22.                 {
  23.                         int a=1;
  24.                         for (int right= 1; right<=row  ;right++ )
  25.                         {
  26.                                 System.out.print(" "+"");
  27.                         }
  28.                         for (int right=row;right<=num ;right++ )
  29.                         {
  30.                                 System.out.print(a++);        
  31.                         }
  32.                         //上面a打印了加了个1 所以这里要减1
  33.                         a--;
  34.                         for (int right=row;right<=num-1 ;right++ )
  35.                         {
  36.                                 System.out.print(--a);
  37.                         
  38.                         }
  39.                         System.out.println(" ");
  40.                         
  41.                 }
  42.         }
  43. }
  44. class DrawTriangle
  45. {
  46.         public static void main(String [] args)
  47.         {
  48.                 StringBuilder sb=new StringBuilder("12345678987654321");
  49.                 System.out.println(sb.toString());
  50.                 for(int i=0;i<=8;i++){
  51.                         //前后添加空格是为了让下行比上行多一个空格和这个字符串平衡能求到原来的中间角标
  52.                         sb.insert(0, " ");
  53.                         sb.append(" ");
  54.                         //因为是角标所以中间值不需要加1 这里减1效果也是一样都能达到删除中间角标和
  55.                         //最靠进它的角标  也就删除字符串里最大的2数
  56.                         int mid=sb.length()/2;
  57.                         sb.delete(mid, mid+2);
  58.                         System.out.println(sb.toString());        
  59.                 }
  60.                
  61.         }
  62. }
复制代码
回复 使用道具 举报
12345678998765432   // 看了你的代码,运行出来的结果是这样的哦。我想楼主的问题应该是少了最后的1吧?
  123456788765432
   1234567765432
    12345665432
     123455432
      1234432
       12332
        122
         1

for (int right=row;right<=num-1 ;right++ )  // 这里不需要减1  去掉就有这样的效果了
                        {
                                a--;
                                System.out.print(a);
                        
                        }

123456789987654321
  1234567887654321
   12345677654321
    123456654321
     1234554321
      12344321
       123321
        1221
         11
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马