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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Blackay

中级黑马

  • 黑马币:30

  • 帖子:94

  • 精华:0

我看过代码 但是完全没有思路啊 不知道怎么写出来的 还请各位大神指点迷津

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 赞一个!欢迎继续来论坛学习!

查看全部评分

6 个回复

倒序浏览

  1. class PrintTriggle
  2. {
  3.         public static void printTriggle(int count)
  4.     {
  5.             for(int x=0;x<count;x++)
  6.             {
  7.                     niubi(count,x);
  8.             }
  9.            
  10.             for(int x=count-2;x>=0;x--)
  11.             {
  12.                     niubi(count,x);
  13.             }
  14.     }
  15.    
  16.         private        static        void niubi(int count,int x)
  17.     {
  18.             for(int j=0;j<count-1-x;j++)
  19.                 {
  20.                         System.out.print(" ");
  21.                 }
  22.                 System.out.print("*");
  23.                 for(int z=0;z<x;z++)
  24.                 {
  25.                         System.out.print(" *");
  26.                 }
  27.                 System.out.println();
  28.     }
  29. }

  30. public class Child  {  

  31.     public static void main(String[] args) {  
  32.            
  33.             PrintTriggle.printTriggle(14);
  34.            
  35.     }
  36.    

  37. }


  38. class PrintTriggle
  39. {
  40.         public static void printTriggle(int count)
  41.     {
  42.             for(int x=0;x<count;x++)
  43.             {
  44.                     niubi(count,x);
  45.             }
  46.            
  47.             for(int x=count-2;x>=0;x--)
  48.             {
  49.                     niubi(count,x);
  50.             }
  51.     }
  52.    
  53.         private        static        void niubi(int count,int x)
  54.     {
  55.             for(int j=0;j<count-1-x;j++)
  56.                 {
  57.                         System.out.print(" ");
  58.                 }
  59.                 System.out.print("*");
  60.                 for(int z=0;z<x;z++)
  61.                 {
  62.                         System.out.print(" *");
  63.                 }
  64.                 System.out.println();
  65.     }
  66. }

  67. public class Child  {  

  68.     public static void main(String[] args) {  
  69.            
  70.             PrintTriggle.printTriggle(14);
  71.            
  72.     }
  73.    

  74. }
复制代码

//把菱形分成两个,一个上三角形,一个下三角形;
//上三角形输出空格和星
//下三角形输出空格和星

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 很给力!

查看全部评分

回复 使用道具 举报
  1. public static void printShape(){
  2.                 for(int x = 0; x < 4 ; x++){
  3.                         for(int y = x; y < 4; y++)
  4.                                 System.out.print(" ");
  5.                         for(int z = 0; z <= x ; z++)
  6.                                 System.out.print("*" + " ");
  7.                         System.out.println();
  8.                 }
  9.                 for(int x = 0; x < 3; x++){
  10.                         for(int y = 0; y <= x + 1; y++)
  11.                                 System.out.print(" ");
  12.                         for(int z = x; z < 3; z++)
  13.                                 System.out.print("*" + " ");
  14.                         System.out.println();
  15.                 }
  16.         }
复制代码
回复 使用道具 举报
本帖最后由 观决 于 2014-5-20 22:14 编辑
  1.   public static void show(int num){
  2.                         int x=(num+1)/2;
  3.                         for(int i=1;i<=num;i++){
  4.                                 for(int j=Math.abs(x-i);j>=0;j--){//找规律  2 1 0 1 2                                       System.out.print(" ");
  5.                                 }
  6.                                 for(int k=1;k<=(x-Math.abs(x-i));k++){//找规律` 1 2 3 2 1  左右对称 所以外+" "
  7.                                         System.out.print("* ");
  8.                                 }
  9.                                 System.out.println();
  10.                         }
  11.                 }
复制代码



这里num只能是奇数  菱形嘛 奇数才可以吧   然后 这是5层的时候


评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
这个就是用不同的方法隔开了、
首先说你的代码重复了,
主方法是调用一个打印菱形的方法, printTriggle方法是嵌套的外层循环,niubi是内层循环。其中菱形分为两部分,上三角和下方法。
第一个for是控制上三角的行数,第二个for是控制下三角的每行数。每个for循环调用了niubi方法,其中niubi方法里的两个for分别控制了每行的空格和星号数量。
你可以把niubi方法中的内容直接放到调用它的地方。这样很容易看出来是嵌套循环。
回复 使用道具 举报
其实嘛,棱形你分开来看,一行一行的看,仔细找规律,就行了
回复 使用道具 举报
思路:打印另行可以先打个等腰三角形,列成2个*的等差数列,前面用个倒三角形的空格隔开就可以形成一个等腰三角形的输出了;后面在跟上上面代码反过来输出就可以了,把反三角的空格换成正三角
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马