黑马程序员技术交流社区

标题: 活动已结束 [打印本页]

作者: 张俊生    时间: 2013-8-16 00:13
标题: 活动已结束
本帖最后由 EYE_SEE_YOU 于 2013-8-22 20:55 编辑

本期活动

根据要求打印相对应的图案

最少1个技术分,最高3个技术分
心动不如行动
快快行动吧



题目

1.打印一个菱形
                   *                                
                 ***                        
               *****                        
             *******               
           *********               
             *******
               *****        
                 ***        
                   *        
2.打印两个菱形
                     *                *               
                   ***            ***               
                 *****        *****               
               *******   *******                 
             *****************               
               *******   *******
                *****        *****
                  ***           ***
                    *               *
打印如图相邻的四个菱形               
                     *              *               
                   ***          ***               
                 *****      *****               
               *******  *******                 
             *****************               
               *******  *******
                *****       *****
                  ***           ***
                     *             *               
                   ***         ***               
                 *****      *****               
               *******  *******                 
             *****************               
               *******  *******
                *****       *****
                  ***           ***
                    *               *                                
                  


               
        扩展        打任意X乘Y个菱形




注意:设置阅读权限   



]U3DCGSMJPJ06Z}@]D2~SJV.jpg (24.95 KB, 下载次数: 48)

]U3DCGSMJPJ06Z}@]D2~SJV.jpg

Desktop.rar

5.86 KB, 下载次数: 164

这是第一个做出的答案


作者: xscn    时间: 2013-8-16 00:40
两边最长的分别是9个和8个?
作者: 张俊生    时间: 2013-8-16 08:32
xscn 发表于 2013-8-16 00:40
两边最长的分别是9个和8个?

就是在那个能输出来的范围,列数不要超过十(小于十),行数不限

作者: penpen    时间: 2013-8-16 09:06
赶紧先占楼
作者: 薛鹏鹏    时间: 2013-8-16 09:13
占个楼                              
作者: 职业规划-帅丽霞老师    时间: 2013-8-16 09:21
{:soso_e120:}
作者: 以防万一    时间: 2013-8-16 09:36
帅丽霞 发表于 2013-8-16 09:21


{:soso_e120:}帅帅老师要多来我们24,25版多多活跃呀
作者: 薛鹏鹏    时间: 2013-8-16 09:47
帅丽霞 发表于 2013-8-16 09:21

欢迎欢迎

作者: べPNヤ    时间: 2013-8-16 11:00
标题: 打印菱形
本帖最后由 べPNヤ 于 2013-8-16 11:18 编辑

打印菱形

rhombus.zip

396 Bytes, 阅读权限: 100, 下载次数: 0

一个菱形


作者: taotao    时间: 2013-8-16 11:01
  1. import java.util.*;
  2. //一个菱形
  3. class Demo
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 for(int n = 1;n<=5;n++)
  8.                 {
  9.                         for(int i=5-n;i>0;i--)
  10.                         {
  11.                                 System.out.print(" ");
  12.                         }                       
  13.                         for(int j=2*n-1;j>0;j--)
  14.                         {
  15.                                 System.out.print("*");
  16.                         }
  17.                         System.out.println("");
  18.                 }
  19.                 for(int n = 4;n>0;n--)
  20.                 {
  21.                         for(int i=5-n;i>0;i--)
  22.                         {
  23.                                 System.out.print(" ");
  24.                         }                       
  25.                         for(int j=2*n-1;j>0;j--)
  26.                         {
  27.                                 System.out.print("*");
  28.                         }
  29.                         System.out.println("");
  30.                 }
  31.         }
  32. }
  33. //合抱之木,生于毫末;九层之台,起于垒土
  34. //找到最大分割部分,然后一层层的组装
  35. //x乘Y个菱形
  36. class Demo2
  37. {
  38.         //前驱空格
  39.         static void beginSpace(int n)
  40.         {
  41.                 for(int i=5-n;i>0;i--)
  42.                 {
  43.                         System.out.print(" ");
  44.                 }
  45.         }
  46.         //空格三角
  47.         static void triangleSpace(int n)
  48.         {
  49.                 for(int i=2*(5-n);i>0;i--)
  50.                 {
  51.                         System.out.print(" ");
  52.                 }
  53.         }
  54.         //星花三角
  55.         static void triangleStar(int n)
  56.         {
  57.                 for(int j=2*n-1;j>0;j--)
  58.                 {
  59.                         System.out.print("*");
  60.                 }
  61.         }
  62.        
  63.         //1乘Y个菱形上部:
  64.         static void upPrint(int y)
  65.         {
  66.                 int y2;
  67.                 for(int n = 1;n<=5;n++)
  68.                 {                       
  69.                         beginSpace(n);                       
  70.                         triangleStar(n);
  71.                         y2=y;
  72.                         while(--y2!=0)
  73.                         {
  74.                                 triangleSpace(n);
  75.                                 triangleStar(n);
  76.                         }
  77.                         System.out.println(" ");
  78.                 }
  79.         }
  80.         //1乘Y个菱形下部:
  81.         static void downPrint(int y)
  82.         {
  83.                 int y2;
  84.                 for(int n = 4;n>0;n--)
  85.                 {
  86.                         beginSpace(n);                       
  87.                         triangleStar(n);
  88.                         y2=y;
  89.                         while(--y2!=0)
  90.                         {
  91.                                 triangleSpace(n);
  92.                                 triangleStar(n);
  93.                         }
  94.                         System.out.println("");
  95.                 }
  96.         }

  97.         //1乘Y个菱形:
  98.         static void oneRowPrint(int y)
  99.         {
  100.                 upPrint(y);
  101.                 downPrint(y);
  102.         }
  103.         //x乘Y个菱形:
  104.         static void Print(int x,int y)
  105.         {
  106.                 //行
  107.                 for(int x2=x;x2>0;x2--)
  108.                 {
  109.                         oneRowPrint(y);
  110.                 }
  111.         }

  112.         public static void main(String[] args)
  113.         {
  114.                 Scanner scanner =new Scanner(System.in);
  115.                 System.out.print("请输入行数:");
  116.                 int x =Integer.parseInt(scanner.next());
  117.                 System.out.print("请输入列数:");
  118.                 int y = Integer.parseInt(scanner.next());
  119.                 Print(x,y);
  120.         }
  121. }
复制代码

作者: breaveheart    时间: 2013-8-16 11:10
我先认个错,原本想把菱形先写出来再进行for循环输出的,后来发现这样一行只能有一个。
再改太麻烦,只能退而求其次输出多少列并对列上的菱形衔接进行处理。
技术分不要紧,重点是想让大家看到我的进步,哈哈。{:soso_e113:}
  1. import java.util.*;
  2. class lingxing
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 System.out.print("行x,请输入大于0的正整数:");
  7.                 Scanner scannerx = new Scanner(System.in);
  8.                 int x = Integer.parseInt(scannerx.next());
  9.                 System.out.println();

  10.                 for (int m=1; m<=x; m++)
  11.                 {
  12.                         showDemo(x,m);
  13.                 }
  14.         }

  15.         public static void showDemo(int x,int m)  //菱形打印函数
  16.         {
  17.                 for (int r=1; r<=5; r++)  //菱形前五行
  18.                 {
  19.                         for (int a=5-r; a>=1; a--)
  20.                         {
  21.                                 System.out.print(" ");
  22.                         }
  23.                         for (int i=1; i<=(2*(r-1)+1); i++)
  24.                         {
  25.                                 System.out.print("*");
  26.                         }
  27.                         for (int j=(4-r); j>=0; j--)
  28.                         {
  29.                                 System.out.print(" ");
  30.                         }
  31.                         System.out.println();
  32.                 }

  33.                 for (int r=1; r<=3; r++)  //菱形后三行
  34.                 {
  35.                         for (int a=1; a<=r; a++)
  36.                         {
  37.                                 System.out.print(" ");
  38.                         }
  39.                         for (int i=(2*(4-r)+1); i>=1; i--)
  40.                         {
  41.                                 System.out.print("*");
  42.                         }
  43.                         for (int j=1; j<=r; j++)
  44.                         {
  45.                                 System.out.print(" ");
  46.                         }
  47.                         System.out.println();
  48.                 }
  49.                 if (x==m)
  50.                         System.out.println("    *    ");
  51.         }
  52. }
复制代码

作者: yangxin540    时间: 2013-8-16 11:34
LZ我应该怎么设置阅读权限呢?
作者: 张俊生    时间: 2013-8-16 11:41
yangxin540 发表于 2013-8-16 11:34
LZ我应该怎么设置阅读权限呢?

你这样就行啊

作者: yangxin540    时间: 2013-8-16 11:55
这是我刚刚写的,也没优化,功能是实现了

Diamond.rar

436 Bytes, 阅读权限: 100, 下载次数: 1


作者: yangxin540    时间: 2013-8-16 11:56
LZ我也不知道对不对,这样加权限,你给我的回复我也看不见
作者: 李磊_Adam    时间: 2013-8-16 14:30
本帖最后由 李磊_Adam 于 2013-8-16 14:33 编辑

第一个答案

Test1.rar

288 Bytes, 阅读权限: 100, 下载次数: 4

第一题答案


作者: yangxin540    时间: 2013-8-16 14:49
嘿嘿,刚才发那个没注意到,现在我又改了改,都连上了

Diamond.rar

446 Bytes, 阅读权限: 100, 下载次数: 1


作者: l396262632    时间: 2013-8-16 15:35
实在太因了 只能先循环一个!一行俩个还需改进!
如果楼主好淫 直接给本人让代码 让鄙人 也少动一下脑子了
  1. import java.util.Scanner;

  2. public class one {
  3.         public static void main(String[] args) {
  4.                 System.out.println("**************************");
  5.                 System.out.println("请输入x乘y个菱形");
  6.                 System.out.println("**************************");
  7.                 Scanner in = new Scanner(System.in);
  8.                 System.out.println("请输入 x");
  9.                 int x = in.nextInt();
  10.                 System.out.println("请输入y");
  11.                 int y = in.nextInt();
  12.                 int z = x * y;
  13.                 for (int k = 0; k < z; k++) {
  14.                         for (int i = 0; i < 9; i++) {
  15.                                 if (i % 2 == 0) {
  16.                                         for (int j = 0; j < 9 - i; j++) {
  17.                                                 System.out.print(" ");
  18.                                         }
  19.                                         for (int j = 0; j < (i + 1); j++) {
  20.                                                 System.out.print('*' + " ");
  21.                                         }

  22.                                
  23.                                 System.out.println();
  24.                                 }
  25.                         }
  26.                         for (int i = 0; i < 8; i++) {
  27.                                 if (i % 2 == 0) {
  28.                                         for (int j = 0; j < 2 + i; j++) {
  29.                                                 System.out.print(" ");

  30.                                         }
  31.                                         for (int j = 0; j < 7 - i; j++) {
  32.                                                 System.out.print(" *");
  33.                                         }


  34.                                         System.out.println();
  35.                                 }

  36.                         }
  37.                 }
  38.         }
  39. }
复制代码

作者: 王松松    时间: 2013-8-16 16:25
打印菱形!{:soso_e141:}

run1.PNG (6.47 KB, 下载次数: 45)

run1.PNG

run2.PNG (9.92 KB, 下载次数: 43)

run2.PNG

PrintLX.rar

13.46 KB, 阅读权限: 100, 下载次数: 1

打印菱形


作者: xscn    时间: 2013-8-16 16:45
本帖最后由 xscn 于 2013-8-16 16:50 编辑

分别是打印1个,2个,X行Y列个,4个同理为2行2列个,演示截图是5行6列没截全,图大了点

屏幕截图.jpg (58.48 KB, 下载次数: 52)

屏幕截图.jpg

Desktop.rar

5.86 KB, 阅读权限: 100, 下载次数: 3


作者: xscn    时间: 2013-8-16 17:19
谢谢版主给通知有拍包活动,但是不知道分拍了,还有没有,还等着进黑马呢,书包诚可贵,黑马价更高
作者: 胡智    时间: 2013-8-16 18:04
本帖最后由 胡智 于 2013-8-16 18:44 编辑


class Print
{
        public static void main(String[] args)
        {
                //num表示菱形的大小
                print1(5);
                print2(6);
                print3(7);

        }
        //*************
        //打一个菱形
        public static void print1(int num)
        {
                if(num<1)
                {
                        System.out.println("哥么,别开玩笑。");
                        System.exit(0);
                }
                for (int x=1;x<num+1 ;x++ )
                {
                        for (int y=1;y<num+1-x;y++ )
                        {
                                System.out.print(" ");
                        }
                        for (int z=1;z<2*x;z++)
                        {
                                if(z==2*x-1)
                                        System.out.println("*");
                                else
                                        System.out.print("*");       
                        }
                }
                for (int x =1;x<num;x++ )
                {
                        for (int y=1;y<x+1 ;y++ )
                        {
                                System.out.print(" ");
                        }
                        for (int z=1;z<2*(num-x);z++ )
                        {
                                if (z==2*(num-x)-1)
                                        System.out.println("*");
                                else
                                        System.out.print("*");       
                        }
                }               
        }
        //*************
        //横着打两个菱形
        public static void print2(int num)
        {
                if(num<1)
                {
                        System.out.println("哥么,别开玩笑。");
                        System.exit(0);
                }
                for (int x=1;x<num+1 ;x++ )
                {
                        for (int y=1;y<num+1-x;y++ )
                        {
                                System.out.print(" ");
                        }
                        for (int z=1;z<2*x;z++)
                        {
                                System.out.print("*");       
                        }
                        for (int a=1;a<2*(num-x)+1;a++ )
                        {
                                System.out.print(" ");
                        }
                        for (int b=1;b<2*x ;b++ )
                        {
                                if (b==2*x-1)
                                        System.out.println("*");
                                else
                                        System.out.print("*");       
                        }
                }
                for (int x=1;x<num ;x++ )
                {
                        for (int y=1;y<x+1 ;y++ )
                        {
                                System.out.print(" ");
                        }
                        for (int z=1;z<2*(num-x);z++ )
                        {
                                        System.out.print("*");       
                        }
                        for (int a=1;a<2*x+1;a++ )
                        {
                                System.out.print(" ");
                        }
                        for (int b=1;b<2*(num-x) ;b++ )
                        {
                                if (b==2*(num-x)-1)
                                        System.out.println("*");
                                else
                                        System.out.print("*");       
                        }
                }
        }
        //*************
        //横着打两个,竖着打两个。
        public  static void print3(int num)
        {
                if(num<1)
                {
                        System.out.println("哥么,别开玩笑。");
                        System.exit(0);
                }
                print2(num);
                for (int x=1;x<num ;x++ )
                {
                        for (int y=1;y<num-x;y++ )
                        {
                                System.out.print(" ");
                        }
                        for (int z=1;z<2*x+2;z++)
                        {
                                System.out.print("*");       
                        }
                        for (int a=1;a<2*(num-x)-1;a++ )
                        {
                                System.out.print(" ");
                        }
                        for (int b=1;b<2*x+2 ;b++ )
                        {
                                if (b==2*x+1)
                                        System.out.println("*");
                                else
                                        System.out.print("*");       
                        }
                }
                for (int x=1;x<num ;x++ )
                {
                        for (int y=1;y<x+1 ;y++ )
                        {
                                System.out.print(" ");
                        }
                        for (int z=1;z<2*(num-x);z++ )
                        {
                                        System.out.print("*");       
                        }
                        for (int a=1;a<2*x+1;a++ )
                        {
                                System.out.print(" ");
                        }
                        for (int b=1;b<2*(num-x) ;b++ )
                        {
                                if (b==2*(num-x)-1)
                                        System.out.println("*");
                                else
                                        System.out.print("*");       
                        }
                }

        }
}


作者: 封号了...    时间: 2013-8-16 18:09
本帖最后由 封号了... 于 2013-8-16 18:11 编辑
  1.         public static void first(int n){
  2.                 for(int i = 1;i<=9;i++){
  3.                         for (int j = 1; j <= 18; j++) {
  4.                                 if (i<=5) {
  5.                                         if (j<=5-i||(j-5>=i&&j+i<15)||j-13>i) {
  6.                                                 System.out.print(" ");
  7.                                         }else {
  8.                                                 System.out.print("*");
  9.                                         }
  10.                                 }else {
  11.                                         if (i-5>=j||(j+i>14&j-i<5)||j+i>23) {
  12.                                                 System.out.print(" ");
  13.                                         }else {
  14.                                                 System.out.print("*");
  15.                                         }
  16.                                 }
  17.                         }
  18.                         System.out.println();
  19.                 }
  20.         }
复制代码


    *        *   
   ***      ***   
  *****    *****  
*******  *******
******************
*******  *******
  *****    *****  
   ***      ***   
    *        *   
2个菱形的做出来了,
竖向的可以N,但是横向的只能固定2了!


作者: 胡智    时间: 2013-8-16 18:31
  1. <blockquote>class PrintExtend
复制代码

作者: 胡智    时间: 2013-8-16 18:41
本帖最后由 胡智 于 2013-8-16 18:42 编辑

class PrintExtend
{
        public static void main(String[] args)
        {
                print(5,4);
               
        }
//num指的菱形的大小,count代表横着菱形重复个数。
        public static void printUp(int num,int count)
        {
                if(num<1||count<0)
                {
                        System.out.println("哥么,别开玩笑。");
                        System.exit(0);
                }
                for (int x=1;x<num+1 ;x++ )
                {
                        for (int y=1;y<num+1-x;y++ )
                        {
                                System.out.print(" ");
                        }
                        for (int z=1;z<2*x;z++)
                        {
                                System.out.print("*");        
                        }
                        //
                        for (int co=0;co<=count;co++ )
                        {
                                for (int a=1;a<2*(num-x)+1;a++ )
                                {
                                        System.out.print(" ");
                                }
                                for (int b=1;b<2*x ;b++ )
                                {
                                        System.out.print("*");        
                                }
                        }
                        //
                        for (int a=1;a<2*(num-x)+1;a++ )
                        {
                                System.out.print(" ");
                        }
                        for (int b=1;b<2*x ;b++ )
                        {
                                if (b==2*x-1)
                                        System.out.println("*");
                                else
                                        System.out.print("*");        
                        }
                }
                for (int x=1;x<num ;x++ )
                {
                        for (int y=1;y<x+1 ;y++ )
                        {
                                System.out.print(" ");
                        }
                        for (int z=1;z<2*(num-x);z++ )
                        {
                                        System.out.print("*");        
                        }
                        //
                        for (int co=0;co<=count;co++ )
                        {
                                for (int c=1;c<2*x+1;c++ )
                                {
                                        System.out.print(" ");
                                }
                                for (int d=1;d<2*(num-x) ;d++ )
                                {
                                        System.out.print("*");        
                                }
                        }
                        //
                        for (int a=1;a<2*x+1;a++ )
                        {
                                System.out.print(" ");
                        }
                        for (int b=1;b<2*(num-x) ;b++ )
                        {
                                if (b==2*(num-x)-1)
                                        System.out.println("*");
                                else
                                        System.out.print("*");        
                        }
                }
        }
        public static void print(int num,int count)
        {
                printUp(num,count);
                for (int x=1;x<num ;x++ )
                {
                        for (int y=1;y<num-x;y++ )
                        {
                                System.out.print(" ");
                        }
                        for (int z=1;z<2*x+2;z++)
                        {
                                System.out.print("*");        
                        }
                        //
                        for (int co=0;co<=count;co++ )
                        {
                                for (int a=1;a<2*(num-x)-1;a++ )
                                {
                                        System.out.print(" ");
                                }
                                for (int b=1;b<2*x+2 ;b++ )
                                {
                                        System.out.print("*");        
                                }
                        }
                        //
                        for (int a=1;a<2*(num-x)-1;a++ )
                        {
                                System.out.print(" ");
                        }
                        for (int b=1;b<2*x+2 ;b++ )
                        {
                                if (b==2*x+1)
                                        System.out.println("*");
                                else
                                        System.out.print("*");        
                        }
                }
                for (int x=1;x<num ;x++ )
                {
                        for (int y=1;y<x+1 ;y++ )
                        {
                                System.out.print(" ");
                        }
                        for (int z=1;z<2*(num-x);z++ )
                        {
                                        System.out.print("*");        
                        }
                        //
                        for (int co=0;co<=count;co++ )
                        {
                                for (int c=1;c<2*x+1;c++ )
                                {
                                        System.out.print(" ");
                                }
                                for (int d=1;d<2*(num-x) ;d++ )
                                {
                                        System.out.print("*");        
                                }
                        }
                        //
                        for (int a=1;a<2*x+1;a++ )
                        {
                                System.out.print(" ");
                        }
                        for (int b=1;b<2*(num-x) ;b++ )
                        {
                                if (b==2*(num-x)-1)
                                        System.out.println("*");
                                else
                                        System.out.print("*");        
                        }
                }
        }
        
}

菱形.png (3.38 KB, 下载次数: 5)

菱形.png

作者: HEIMA时光    时间: 2013-8-16 19:57
  1. public static void main(String[] args)
  2.         {  
  3.                
  4.                 for (int x=1 ; x<=5 ;x++ )
  5.                 {
  6.                         for (int n= 1;n <=5-x ;n++ )
  7.                         {
  8.                                 System.out.print(" ");
  9.                         }
  10.                         for (int y = 1 ; y<=x*2-1 ;y++ )
  11.                         {
  12.                                 System.out.print("*");
  13.                         }

  14.                         System.out.println();
  15.                 }
  16.        
  17.                 for (int x=1 ; x<=5 ;x++ )
  18.                 {
  19.                         for (int n= 1;n <=x ;n++ )
  20.                         {
  21.                                 System.out.print(" ");
  22.                         }
  23.                         for (int y = 1 ; y<=10-x*2-1 ;y++ )
  24.                         {
  25.                                 System.out.print("*");
  26.                         }

  27.                         System.out.println();
  28.                 }
  29.                
  30.         }
  31.        
复制代码
只能打出一个
作者: HEIMA时光    时间: 2013-8-16 20:04
不知到怎么设置仅作者可见
作者: 单凯    时间: 2013-8-16 20:51
我做出来了,等会发
作者: 单凯    时间: 2013-8-16 20:59
/**
* 题目 : 打任意X乘Y个菱形
*
* 思路:一行一行的打印。
*      每个菱形是9*9的正方形,但是连接处少了一行和一列,
*      因此,每一个菱形我只打印8*8,剩下的一行一列由下一个菱形去补齐
*      最后再补齐剩下的一行一列就行了
*
* */

class text {
    //此方法一次性打印一行菱形的某一行
        public static void hang(int x, int y){
                StringBuilder s = new  StringBuilder();
                for (int j = 0; j < x; j++) {
                        for (int i = 0; i < 8; i++) {
                        //判断哪个地方打印 “ ”,或者是“*”
                                if(y<=4){
                                        if(Math.abs(4-i)>y) s.append(" ");
                                        else s.append("*");
                                }
                                else {
                                        if(Math.abs(4-i)>(8-y)) s.append(" ");
                                        else s.append("*");
                                }
                        }
                }
                //补齐最后一列的符号
                if(y!=4) s.append(" ");
                else s.append("*");
                System.out.println(s);
        }
        //此方法打印一行的所有菱形
        public static void lingxing(int x,int y){
                //循环了y行
                for (int j = 0; j < y; j++) {
                        for (int i =  0; i <8; i++) {
                                hang(x,i);
                        }
                }
                //补齐最后一行菱形的最后一行
                hang(x,0);
        }

    public static void main(String[] args) {
            //自己制定x,y。x是列数,y是行数
            int x,y;
            x=5;
            y=2;
            lingxing(x,y);
    }

}
有错误跟我说一声,我运行没有问题


作者: 单凯    时间: 2013-8-16 21:03
x,y可以自行指定,楼主可以检验,O(∩_∩)O~

QQ图片20130816210010.jpg (69.36 KB, 下载次数: 7)

这是我的运行结果

这是我的运行结果

作者: 牛牛    时间: 2013-8-16 22:37
本帖最后由 牛牛 于 2013-8-16 22:41 编辑
  1. import java.util.Scanner;

  2. /**
  3. * 1.打印一个(多个)菱形
  4. */
  5. public class Exercise_9 {
  6.        
  7.         public static void main(String[] args) {
  8.                 Scanner input = new Scanner(System.in);
  9.                 System.out.println("请输入菱形x轴长度(1=*)(要为奇数):");
  10.                 int count = input.nextInt();
  11.                 System.out.println("请输入菱形行数:");
  12.                 int xcount = input.nextInt();
  13.                 System.out.println("请输入菱形列数:");
  14.                 int ycount = input.nextInt();
  15.                 //循环行
  16.                 for (int y = 1; y <= ycount; y++) {
  17.                         //循环上半列
  18.                         for(int i=1;i<=count/2+1;i++){
  19.                                 for(int x = 1;x<=xcount;x++){
  20.                                         for(int j=1;j<=count/2+1-i;j++){
  21.                                                 System.out.print(" ");
  22.                                         }
  23.                                         for(int j=1;j<=2*i-1;j++){
  24.                                                 System.out.print("*");
  25.                                         }
  26.                                         for(int j=1;j<=count/2+1-i;j++){
  27.                                                 System.out.print(" ");
  28.                                         }
  29.                                 }
  30.                                 System.out.println();
  31.                         }
  32.                         //循环下半列
  33.                         for(int i=count/2;i>=1;i--){
  34.                                 for(int x = 1;x<=xcount;x++){
  35.                                         for(int j=count/2+1-i;j>=1;j--){
  36.                                                 System.out.print(" ");
  37.                                         }
  38.                                         for(int j=2*i-1;j>=1;j--){
  39.                                                 System.out.print("*");
  40.                                         }
  41.                                         for(int j=count/2+1-i;j>=1;j--){
  42.                                                 System.out.print(" ");
  43.                                         }
  44.                                 }
  45.                                 System.out.println();
  46.                         }
  47.                         System.out.println();
  48.                 }
  49.         }
  50. }
复制代码

作者: 黄文军    时间: 2013-8-16 23:11
本帖最后由 黄文军 于 2013-8-17 10:23 编辑



刚开始看错了,又改了下
  1. class  LingXing
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 print(2,5);
  6.         }

  7.         //定义方法用以打印菱形
  8.         static void print(int wNum ,int lNum )
  9.         {
  10.                
  11.                 int c=0;
  12.                 for(int wn =0;wn<wNum;wn++)//定义有多少行菱形
  13.                 {
  14.                         
  15.                         for(int a=1;a<9;a++)
  16.                         {        
  17.                                 //第一行
  18.                                 if(wn==0&&c==0)
  19.                                 {
  20.                                         for(int ln=0;ln<lNum;ln++)
  21.                                         {
  22.                                                 for(int a1 =0;a1<4;a1++)//前面的空格
  23.                                                 {
  24.                                                         System.out.print(" ");
  25.                                                 }

  26.                                                 for(int a1=0 ;a1<1;a1++)//形成菱形的“*”
  27.                                                 {
  28.                                                         System.out.print("*");
  29.                                                 }

  30.                                                 for(int a1=0 ;a1<4;a1++)//后面的空格
  31.                                                 {
  32.                                                         System.out.print(" ");
  33.                                                 }

  34.                                         }
  35.                                         System.out.println();        
  36.                                 }        

  37.                                 for(int ln=0;ln<lNum;ln++)//定义有多少列菱形
  38.                                 {

  39.                                                 if(a<5)//菱形上半部分
  40.                                         {
  41.                                                 for(int a1 =0;a1<9/2-a;a1++)//前面的空格
  42.                                                 {
  43.                                                         System.out.print(" ");
  44.                                                 }

  45.                                                 for(int a1=0 ;a1<a*2+1;a1++)//形成菱形的“*”
  46.                                                 {
  47.                                                         System.out.print("*");
  48.                                                 }

  49.                                                 for(int a1=0 ;a1<9/2-a;a1++)//后面的空格
  50.                                                 {
  51.                                                         System.out.print(" ");
  52.                                                 }
  53.                                         }else{//菱形下半部分
  54.                                                 for(int a1=0 ;a1<a-4;a1++)//前面的空格
  55.                                                 {
  56.                                                         System.out.print(" ");
  57.                                                 }

  58.                                                 for(int a1=0;a1<(9-a)*2-1;a1++)//形成菱形的“*”
  59.                                                 {
  60.                                                         System.out.print("*");
  61.                                                 }

  62.                                                 for(int a1=0;a1<a-4;a1++)//前面的空格
  63.                                                 {
  64.                                                         System.out.print(" ");
  65.                                                 }
  66.                                         }
  67.                                 }
  68.                                 c++;
  69.                                 System.out.println();//换行
  70.                         }
  71.                         
  72.                 }
  73.         }
  74. }
复制代码

作者: 饭后小笼包    时间: 2013-8-16 23:12
  1. package Month08;

  2. /*
  3. * 打印菱形
  4. *
  5. */
  6. public class Day16 {
  7.         public static void main(String[] args) {
  8.                 print(1, 1);// 打印一个菱形
  9.                 print(1, 2);// 打印两个菱形
  10.                 print(2, 2);// 打印相邻四个菱形

  11.         }

  12.         public static void print(int x, int y) {// 打印x乘以y个菱形的方法
  13.                 String[][] str1 = {
  14.                                 { " ", " ", " ", " ", "*", " ", " ", " ", " " },
  15.                                 { " ", " ", " ", "*", "*", "*", " ", " ", " " },
  16.                                 { " ", " ", "*", "*", "*", "*", "*", " ", " " },
  17.                                 { " ", "*", "*", "*", "*", "*", "*", "*", " " },
  18.                                 { "*", "*", "*", "*", "*", "*", "*", "*", "*" },
  19.                                 { " ", "*", "*", "*", "*", "*", "*", "*", " " },
  20.                                 { " ", " ", "*", "*", "*", "*", "*", " ", " " },
  21.                                 { " ", " ", " ", "*", "*", "*", " ", " ", " " },
  22.                                 { " ", " ", " ", " ", "*", " ", " ", " ", " " }, };
  23.                
  24.                
  25.                
  26.                 for (int x1 = 1; x1 <= x; x1++) {
  27.                         for (int i = 0; i < str1.length; i++) {
  28.                                 for (int y1 = 1; y1 <= y; y1++) {
  29.                                         for (int j = 0; j < str1[i].length; j++) {
  30.                                                 System.out.print(str1[i][j]);
  31.                                         }
  32.                                 }
  33.                                 System.out.println();
  34.                         }
  35.                 }
  36.         }

  37. }
复制代码

作者: 谢铭    时间: 2013-8-16 23:41
本帖最后由 谢铭 于 2013-8-16 23:55 编辑

  1. class ForDemo{
  2. public static void main(String [] args){
  3.   System.out.println("打印一个菱形");
  4.   for(int a=1; a<=5; a++){  //控制上半部
  5.    for(int b=1; b<=5-a; b++){  
  6.     System.out.print(" ");
  7.    }
  8.    for(int c=1; c<=a; c++){  
  9.    System.out.print("*");
  10.    }
  11.    for(int d=1; d<a; d++){  
  12.     System.out.print("*");
  13.    }
  14.    System.out.println();
  15.   }
  16.   for(int e=1; e<=4; e++){  //控制下半部
  17.    for(int f=1; f<=e; f++){
  18.     System.out.print(" ");
  19.    }
  20.    for(int g=1; g<=5-e; g++){  
  21.     System.out.print("*");
  22.    }
  23.    for(int h=1; h<5-e; h++){
  24.     System.out.print("*");
  25.    }
  26.    System.out.println();
  27.   }
  28.   System.out.println("打印两个菱形");
  29.   for(int a=1; a<=5; a++){
  30.    for(int b=1; b<=5-a; b++){  
  31.     System.out.print(" ");
  32.    }
  33.    for(int c=1; c<=a; c++){  
  34.    System.out.print("*");
  35.    }
  36.    for(int d=1; d<a; d++){  
  37.     System.out.print("*");
  38.    }
  39.    for(int b=1; b<=5-a; b++){
  40.     System.out.print(" ");
  41.    }
  42.    for(int b=1; b<=4-a; b++){
  43.     System.out.print(" ");
  44.    }
  45.    for(int c=1; c<=a; c++){
  46.    System.out.print("*");
  47.    }
  48.    if(a==5){
  49.     System.out.print("***");
  50.     }else{
  51.      for(int d=1; d<a; d++){
  52.      System.out.print("*");
  53.    }
  54.    }
  55.    System.out.println();   
  56.   }
  57.   for(int e=1; e<=4; e++){
  58.    for(int f=1; f<=e; f++){
  59.     System.out.print(" ");
  60.    }
  61.    for(int g=1; g<=5-e; g++){
  62.     System.out.print("*");
  63.    }
  64.    for(int h=1; h<5-e; h++){
  65.     System.out.print("*");
  66.    }
  67.    for(int f=1; f<=e; f++){
  68.     System.out.print(" ");
  69.    }
  70.    for(int f=1; f<e; f++){
  71.     System.out.print(" ");
  72.    }
  73.    for(int g=1; g<=5-e; g++){
  74.     System.out.print("*");
  75.    }
  76.    for(int h=1; h<5-e; h++){
  77.     System.out.print("*");
  78.    }
  79.    System.out.println();
  80.   }
  81.   System.out.println("打印四个菱形");
  82.   for(int a=1; a<=5; a++){  //外循环控制执行的次数为5次
  83.    for(int b=1; b<=5-a; b++){
  84.     System.out.print(" ");
  85.    }
  86.    for(int c=1; c<=a; c++){
  87.    System.out.print("*");
  88.    }
  89.    for(int d=1; d<a; d++){
  90.     System.out.print("*");
  91.    }
  92.    for(int b=1; b<=5-a; b++){
  93.     System.out.print(" ");
  94.    }
  95.    for(int b=1; b<=4-a; b++){
  96.     System.out.print(" ");
  97.    }
  98.    for(int c=1; c<=a; c++){
  99.    System.out.print("*");
  100.    }
  101.    if(a==5){    //第二个三角形右侧,当打印到第五行时,进行一次判断,
  102.     System.out.print("***");
  103.     }else{
  104.      for(int d=1; d<a; d++){
  105.      System.out.print("*");
  106.    }
  107.    }
  108.    System.out.println();
  109.   }
  110.   for(int e=1; e<=4; e++){  //控制执行的次数为4次,这里是打印下半部的代码
  111.    for(int f=1; f<=e; f++){
  112.     System.out.print(" ");
  113.    }
  114.    for(int g=1; g<=5-e; g++){
  115.     System.out.print("*");
  116.    }
  117.    for(int h=1; h<5-e; h++){
  118.     System.out.print("*");
  119.    }
  120.    for(int f=1; f<=e; f++){
  121.     System.out.print(" ");
  122.    }
  123.    for(int f=1; f<e; f++){
  124.     System.out.print(" ");
  125.    }
  126.    for(int g=1; g<=5-e; g++){
  127.     System.out.print("*");
  128.    }
  129.    for(int h=1; h<5-e; h++){
  130.     System.out.print("*");
  131.    }
  132.    System.out.println();
  133.   }
  134.   /*下面这段代码是控制下半部的*/
  135.   for(int a=2; a<=5; a++){  //外循环控制执行的次数为4次
  136.    for(int b=1; b<=5-a; b++){  
  137.     System.out.print(" ");
  138.    }
  139.    for(int c=1; c<=a; c++){  
  140.    System.out.print("*");
  141.    }
  142.    for(int d=1; d<a; d++){  
  143.     System.out.print("*");
  144.    }
  145.    for(int b=1; b<=5-a; b++){
  146.     System.out.print(" ");
  147.    }
  148.    for(int b=1; b<=4-a; b++){
  149.     System.out.print(" ");
  150.    }
  151.    for(int c=1; c<=a; c++){  
  152.    System.out.print("*");
  153.    }
  154.    if(a==5){    //当外循环执行到第5次的时候,只执行该段代码
  155.     System.out.print("***");
  156.     }else{   //否则执行其它的代码
  157.      for(int d=1; d<a; d++){
  158.      System.out.print("*");
  159.    }
  160.    }
  161.    System.out.println();
  162.   }
  163.   for(int e=1; e<=4; e++){  //控制执行的次数为4次,这里是打印下半部的代码
  164.    for(int f=1; f<=e; f++){
  165.     System.out.print(" ");
  166.    }
  167.    for(int g=1; g<=5-e; g++){
  168.     System.out.print("*");
  169.    }
  170.    for(int h=1; h<5-e; h++){
  171.     System.out.print("*");
  172.    }
  173.    for(int f=1; f<=e; f++){
  174.     System.out.print(" ");
  175.    }
  176.    for(int f=1; f<e; f++){
  177.     System.out.print(" ");
  178.    }
  179.    for(int g=1; g<=5-e; g++){
  180.     System.out.print("*");
  181.    }
  182.    for(int h=1; h<5-e; h++){
  183.     System.out.print("*");
  184.    }
  185.    System.out.println();
  186.   }      
  187. }
  188. }
复制代码
注:因为学习的原因,加上看到这个帖子的时间比较晚,时间很紧张,没能优化代码,只是由for循环和if语句组成,今晚时间比较晚了,还要预习明天的课程,明天晚上是第二次阶段性测试,这里先不优化代码了,请见谅。
格式在本地编辑是好的,我调好了,但是复制到帖子里就有点乱了,调了还是这样,影响阅读,请见谅。

为了便于查看,我没有调整打印。

作者: 七宝    时间: 2013-8-16 23:46
  1. import java.util.Scanner;

  2. public class Demo5 {
  3.         
  4.         //已经将菱形中间的点看成(4,4),那么*到该点的距离如果小于5则为'*',其他则为' ',
  5.         
  6.         public static void main(String[] args) {
  7.                 Scanner s = new Scanner(System.in);
  8.                 System.out.println("打印m列n行的菱形");
  9.                 System.out.println("你输入的列数n为:");
  10.                 int m=s.nextInt();
  11.                 System.out.println("你输入的行数m为:");
  12.                 int n=s.nextInt();
  13.                
  14.                
  15.                 for (int y = 0; y < 9+8*m; y++) {//控制列数,第一列为9,之后多一个就加8
  16.                         for (int x = 0; x <9+8*n; x++) {//控制行数,第一行为9,之后多一菱形加8个位置
  17.                                 if (Math.abs(x % 8 - 4) + Math.abs(y % 8 - 4) < 5) {
  18.                                         System.out.print("*");
  19.                                 } else {
  20.                                         System.out.print(" ");
  21.                                 }
  22.                         }
  23.                         System.out.println();
  24.                 }
  25.                
  26.         }
  27. }
复制代码
楼主 给分啊 急缺分啊  花了我2个多小时  不容易啊
作者: 会飞的狼    时间: 2013-8-17 00:19
怎么设置隐藏啊

作者: 会飞的狼    时间: 2013-8-17 00:31
public class Diamond {

  public static void main(String[] args) {
   
   int hang=3 , lie=7;//确定要打印的行数与列数
   //打印第一排
   printSpace(5 - 1);
   printWord(2 * 1 - 1);
   printSpace(5 - 1);   
   for (int j = 1; j < lie; j++) {
    printSpace(4 - 1);
    printWord(2 * 1 - 1);
    printSpace(5 - 1);
   }
   System.out.println();
   for (int x = 0; x < hang; x++) {//对行进行循环
   //打印上半段
   for (int i = 2; i <= 4; i++) {
    printSpace(5 - i);
    printWord(2 * i - 1);
    printSpace(5 - i);   
    for (int j = 1; j < lie; j++) {
     printSpace(4 - i);
     printWord(2 * i - 1);
     printSpace(5 - i);
    }
    System.out.println();//每打一行就换行
   }
   //打印中间一行
   printWord(8*lie+1);
   System.out.println();
   //打印下半段
   for (int i = 4; i > 0; i--) {
    printSpace(5 - i);
    printWord(2 * i - 1);
    printSpace(5 - i);
    for (int j = 1; j < lie; j++) {
     printSpace(4 - i);
     printWord(2 * i - 1);
     printSpace(5 - i);
    }
    System.out.println();//每打一行就换行
   }
  }
     }
  
  public static void printSpace(int m){//打印空格的方法
   for (int i = 0; i < m; i++) {
   System.out.print(" ");
  }
  }
  
  public static void printWord(int m){//打印*的方法
   for (int i = 0; i < m; i++) {
   System.out.print("*");
  }
  }
}

这个可以打印扩展任意数量的菱形,只要在第一行输入行数和列数就可以了

作者: gulup    时间: 2013-8-17 01:41
  1. class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 test(6,5,3);
  6.         }

  7.         public static void test(int size,int x,int y){
  8.                 for(int n = 0; n < y; n++){
  9.                         for (int i = 1; i <= size; i++) {
  10.                                 for (int j = i; j < size; j++) {
  11.                                         System.out.print(" ");
  12.                                 }
  13.                                 for (int k = 1; k <= 2 * i - 1; k++) {
  14.                                         System.out.print("*");
  15.                                 }
  16.                                 for(int q = 1; q < x; q++){
  17.                                         for(int z = 0; z < 2; z++){
  18.                                                 for (int j = i; j < size; j++) {
  19.                                                         System.out.print(" ");
  20.                                                 }
  21.                                         }
  22.                                         for (int k = 1; k <= 2 * i - 1; k++) {
  23.                                                 System.out.print("*");
  24.                                         }
  25.                                 }
  26.                                 System.out.println();
  27.                         }

  28.                         for (int i = size - 1; i >= 1; i--) {
  29.                                 for (int j = 1; j <= size - i; j++) {
  30.                                         System.out.print(" ");
  31.                                 }
  32.                                 for (int k = 2 * i - 1; k > 0; k--) {
  33.                                         System.out.print("*");
  34.                                 }
  35.                                 for(int q = 1; q < x; q++){
  36.                                         for(int z = 0; z < 2; z++){
  37.                                                 for (int j = 1; j <= size - i; j++) {
  38.                                                         System.out.print(" ");
  39.                                                 }
  40.                                         }
  41.                                         for (int k = 2 * i - 1; k > 0; k--) {
  42.                                                 System.out.print("*");
  43.                                         }
  44.                                 }
  45.                                 System.out.println();
  46.                         }
  47.                 }
  48.                
  49.         }
  50. }
复制代码


可以定义菱形大小,x行y列。循环太多了。。太晚了,随便写了。懒得修改了。不知道能给几分。

作者: jrry    时间: 2013-8-17 02:08
  1. package test;
  2. /**
  3. * 打印图形
  4. * @author jerry
  5. *
  6. */
  7. public class PrintSharp {
  8.         public static void main(String[] args) {
  9.                 printDiamond(4, 4);
  10.         }
  11.         /**
  12.          * 打印上三角
  13.          * @param xHeng 横排个数
  14.          * @param index 竖列位置
  15.          */
  16.         private static void upTriangle(int xHeng,int index) {
  17.                 for (int i = index; i < 5; i++) {
  18.                         for (int h = 0; h < xHeng; h++) {
  19.                                 for (int j = i; j < 4; j++) {
  20.                                         System.out.print(" ");
  21.                                 }
  22.                                 if (h > 0) {
  23.                                         for (int j = i; j < 3; j++) {
  24.                                                 System.out.print(" ");
  25.                                         }
  26.                                         for (int m = 0; m <= 2 * i; m++) {
  27.                                                 if (m != 8) {
  28.                                                         System.out.print("*");
  29.                                                 }
  30.                                         }
  31.                                 } else {
  32.                                         for (int m = 0; m <= 2 * i; m++) {
  33.                                                 System.out.print("*");
  34.                                         }
  35.                                 }
  36.                         }
  37.                         System.out.println();
  38.                 }
  39.         }
  40.         /**
  41.          * 打印倒三角
  42.          * @param xHeng 横排个数
  43.          */
  44.         private static void downTriangle(int xHeng) {
  45.                 for (int i = 0; i < 4; i++) {
  46.                         for (int h = 0; h < xHeng; h++) {
  47.                                 for (int j = 0; j < i + 1; j++) {
  48.                                         System.out.print(" ");
  49.                                 }
  50.                                 if (h > 0) {
  51.                                         for (int j = 0; j < i; j++) {
  52.                                                 System.out.print(" ");
  53.                                         }
  54.                                         for (int m = 7; m > 2 * i; m--) {
  55.                                                 System.out.print("*");
  56.                                         }
  57.                                 } else {
  58.                                         for (int m = 7; m > 2 * i; m--) {
  59.                                                 System.out.print("*");
  60.                                         }
  61.                                 }
  62.                         }
  63.                         System.out.println();
  64.                 }
  65.         }
  66.         /**
  67.          * 打印菱形
  68.          * @param xHeng 横排个数
  69.          * @param yShu 竖排个数
  70.          */
  71.         private static void printDiamond(int xHeng, int yShu) {
  72.                 for (int p = 0; p < yShu; p++) {
  73.                         //先打印上三角,第一次循环即打印的第一横排需循环打印5次,以后打印只需循环打印4次,
  74.                         if (p==0)
  75.                                 upTriangle(xHeng,0);
  76.                          else
  77.                                 upTriangle(xHeng,1);
  78.                         //再打印倒三角
  79.                         downTriangle(xHeng);
  80.                 }
  81.         }
  82. }
复制代码

作者: mo﹎雲℡    时间: 2013-8-17 04:44
  1. package com.zhang;

  2. /*
  3. * 题目:打印 任意X乘Y个菱形
  4. * 思路:
  5. * 1.首先要定义出一个菱形
  6. * 2.然后再想如何控制行数和列数
  7. */
  8. public class outprint {

  9.         public static void main(String[] args) {
  10.                 //定义一个2行3列的图形
  11.                 ok(1, 3);
  12.         }
  13.         //控制行数
  14.         public static void ok(int e,int w){
  15.                 for(int x = 0;x<e;x++){
  16.                         print(w);
  17.                 }
  18.         }
  19.         //控制列数
  20.         public static void print(int w){
  21.                 for(int x=1;x<=9;x++){
  22.                         if (x <= 5) {
  23.                                 //控制列数
  24.                                 for(int q=0;q<w;q++){
  25.                                         //控制前面空格
  26.                                         for (int z = 1; z < 6 - x; z++) {
  27.                                                 System.out.print(" ");
  28.                                         }
  29.                                         //控制中间*个数
  30.                                         for (int y = 0; y < x * 2 - 1; y++) {
  31.                                                 System.out.print("*");
  32.                                         }
  33.                                         //控制后面空格
  34.                                         for (int z = 0; z < 5 - x; z++) {
  35.                                                 System.out.print(" ");
  36.                                         }
  37.                                 }
  38.                         }
  39.                         if(x>5){
  40.                                 //控制列数
  41.                                 for(int q=0;q<w;q++){
  42.                                         //控制前面空格
  43.                                         for (int z = 0; z < x - 5; z++) {
  44.                                                 System.out.print(" ");
  45.                                         }
  46.                                         //控制中间*个数
  47.                                         for (int y = 0; y < (9 - x) * 2 + 1; y++) {
  48.                                                 System.out.print("*");
  49.                                         }
  50.                                         //控制后面空格
  51.                                         for (int z = 0; z < x - 5; z++) {
  52.                                                 System.out.print(" ");
  53.                                         }
  54.                                 }
  55.                         }
  56.                         System.out.println();
  57.                 }
  58.         }
  59. }
复制代码

作者: 漪顿    时间: 2013-8-17 10:29
打印一个菱形
package soncket;

public class Oss
{
        public static void main(String[]args)
        {
                for(int x=1;x<5;x++)
                {
                        for(int y=x;y<5;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=0;z<x;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=1;a<x;a++)
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
                for(int x=1;x<6;x++)
                {
                        for(int y=1;y<x;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=x;z<6;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=x+1;a<6;a++)
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
        }
}

打印两个菱形
package soncket;

public class Oss
{
        public static void main(String[]args)
        {
                for(int x=1;x<5;x++)
                {
                        for(int y=x;y<5;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=0;z<x;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=1;a<x;a++)
                        {
                                System.out.print("*");
                        }
                        for(int y=x;y<5;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int b=x+1;b<5;b++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=0;z<x;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=1;a<x;a++)
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
                for(int x=1;x<6;x++)
                {
                        for(int y=1;y<x;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=x;z<6;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=x+1;a<6;a++)
                        {
                                System.out.print("*");
                        }
                        for(int y=1;y<x;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int b=1;b<x-1;b++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=x;z<6;z++)
                        {
                                if(z==1)
                                {
                                        z+=1;
                                }
                                System.out.print("*");
                        }
                        for(int a=x+1;a<6;a++)
                        {
                                System.out.print("*");
                        }

                        System.out.println();
                }
        }
}

打印四个菱形
package soncket;

public class Oss_1
{
        public static void main(String[]args)
        {
                for(int x=1;x<5;x++)
                {
                        for(int y=x;y<5;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=0;z<x;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=1;a<x;a++)
                        {
                                System.out.print("*");
                        }
                        for(int y=x;y<5;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int b=x+1;b<5;b++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=0;z<x;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=1;a<x;a++)
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
                for(int x=1;x<6;x++)
                {
                        for(int y=1;y<x;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=x;z<6;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=x+1;a<6;a++)
                        {
                                System.out.print("*");
                        }
                        for(int y=1;y<x;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int b=1;b<x-1;b++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=x;z<6;z++)
                        {
                                if(z==1)
                                {
                                        z+=1;
                                }
                                System.out.print("*");
                        }
                        for(int a=x+1;a<6;a++)
                        {
                                System.out.print("*");
                        }

                        System.out.println();
                }
                for(int w=1;w<4;w++)
                {
                        for(int y=w+2;y<6;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=0;z<w+1;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=0;a<w;a++)
                        {
                                System.out.print("*");
                        }
                        for(int y=w+2;y<6;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int b=w+2;b<5;b++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=1;z<w+1;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=0;a<w+1;a++)
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
                for(int w=1;w<6;w++)
                {
                        for(int y=1;y<w;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=w;z<6;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=w+1;a<6;a++)
                        {
                                System.out.print("*");
                        }
                        for(int y=1;y<w;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int b=1;b<w-1;b++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=w;z<6;z++)
                        {
                                if(z==1)
                                {
                                        z+=1;
                                }
                                System.out.print("*");
                        }
                        for(int a=w+1;a<6;a++)
                        {
                                System.out.print("*");
                        }

                        System.out.println();
        }
}


}



作者: panningwjr    时间: 2013-8-17 13:08
  1. public static void main(String[] args) {
  2.                 printOne();
  3.         }

  4.         // 打印出一个菱形
  5.         public static void printOne() {

  6.                 for (int i = 1; i <= 5; i++) {
  7.                         for (int j = i; j < 5; j++) {
  8.                                 System.out.print(" ");
  9.                         }

  10.                         for (int k = 1; k <= 2 * i - 1; k++) {
  11.                                 System.out.print("*");
  12.                         }

  13.                         System.out.println();
  14.                 }

  15.                 for (int i = 5 - 1; i >= 1; i--) {
  16.                         for (int j = 1; j <= 5 - i; j++) {
  17.                                 System.out.print(" ");
  18.                         }

  19.                         for (int k = 2 * i - 1; k > 0; k--) {
  20.                                 System.out.print("*");
  21.                         }

  22.                         System.out.println();
  23.                 }

  24.         }
复制代码

作者: 会飞的狼    时间: 2013-8-17 13:35
package com.itheima;
public class Diamond {

  public static void main(String[] args) {
  System.out.println("1,打印一个菱形");
  printDiamond(1,1);
  System.out.println("2,打印两个菱形");
  printDiamond(1,2);
  System.out.println("3,打印四个个菱形");
  printDiamond(2,2);
  System.out.println("4,打印任意行列数的菱形,这里以5*7为例");
  printDiamond(5,7);
   
  }
     
  
  public static void printDiamond(int hang,int lie){
   printSpace(5 - 1);
   printWord(2 * 1 - 1);
   printSpace(5 - 1);   
   for (int j = 1; j < lie; j++) {
    printSpace(4 - 1);
    printWord(2 * 1 - 1);
    printSpace(5 - 1);
   }
   System.out.println();
   for (int x = 0; x < hang; x++) {//对行进行循环
   //打印上半段
   for (int i = 2; i <= 4; i++) {
    printSpace(5 - i);
    printWord(2 * i - 1);
    printSpace(5 - i);   
    for (int j = 1; j < lie; j++) {
     printSpace(4 - i);
     printWord(2 * i - 1);
     printSpace(5 - i);
    }
    System.out.println();//每打一行就换行
   }
   //打印中间一行
   printWord(8*lie+1);
   System.out.println();
   //打印下半段
   for (int i = 4; i > 0; i--) {
    printSpace(5 - i);
    printWord(2 * i - 1);
    printSpace(5 - i);
    for (int j = 1; j < lie; j++) {
     printSpace(4 - i);
     printWord(2 * i - 1);
     printSpace(5 - i);
    }
    System.out.println();//每打一行就换行
   }
   }
  }
  
  public static void printSpace(int m){//打印空格的方法
   for (int i = 0; i < m; i++) {
   System.out.print(" ");
  }
  }
  
  public static void printWord(int m){//打印*的方法
   for (int i = 0; i < m; i++) {
   System.out.print("*");
  }
  }
}




作者: 胡智    时间: 2013-8-17 16:58
胡智 发表于 2013-8-16 18:41
class PrintExtend
{
        public static void main(String[] args)

额,大大,你出的题目包括扩展部分都有做出来。怎么才一个技术分啊。

作者: べPNヤ    时间: 2013-8-17 20:20
本帖最后由 べPNヤ 于 2013-8-17 20:24 编辑

l两种方法打印,求技术分

PrintLX.zip

1.17 KB, 阅读权限: 100, 下载次数: 1


作者: woaiheima    时间: 2013-8-17 20:23
本帖最后由 woaiheima 于 2013-8-17 20:41 编辑
  1. <blockquote>
复制代码
我现在只会打印第一个,希望能给加点分,谢谢!
作者: 单凯    时间: 2013-8-17 21:17
单凯 发表于 2013-8-16 20:59
/**
* 题目 : 打任意X乘Y个菱形
*

那就只给2分么,⊙﹏⊙b

作者: 单凯    时间: 2013-8-17 21:20
单凯 发表于 2013-8-16 20:59
/**
* 题目 : 打任意X乘Y个菱形
*

注意:设置阅读权限       只要有一个人做出来后,我就公布答案,并且这个人加五个技术分!


强烈要求公布答案以及第一个人,O(∩_∩)O~

作者: 谢铭    时间: 2013-8-17 21:44
谢铭 发表于 2013-8-16 23:41
注:因为学习的原因,加上看到这个帖子的时间比较晚,时间很紧张,没能优化代码,只是由for循环和if语句组 ...

呵呵,这是上第三天的for循环中的课程里,老师给我们留的作业,用的是当时,最简单的for循环,没有用到函数等,所以看起来很乱,这段时间的学习压力大,没有时间调整。

作者: 张俊生    时间: 2013-8-17 21:59
单凯 发表于 2013-8-17 21:17
那就只给2分么,⊙﹏⊙b

昨天就有人做出来了


作者: 会飞的狼    时间: 2013-8-18 01:09
版主啊,我那个做出了x*y了  怎么不给我5分啊?怎么着也有三分啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2