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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张俊生 高级黑马   /  2013-8-16 00:13  /  6366 人查看  /  52 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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

这是第一个做出的答案

评分

参与人数 3技术分 +5 黑马币 +3 收起 理由
薛鹏鹏 + 1
职业规划-帅丽霞老师 + 3
以防万一 + 1 + 3 辛苦了~

查看全部评分

52 个回复

倒序浏览
两边最长的分别是9个和8个?
回复 使用道具 举报
xscn 发表于 2013-8-16 00:40
两边最长的分别是9个和8个?

就是在那个能输出来的范围,列数不要超过十(小于十),行数不限
回复 使用道具 举报
赶紧先占楼
回复 使用道具 举报
占个楼                              
回复 使用道具 举报
{:soso_e120:}
回复 使用道具 举报


{:soso_e120:}帅帅老师要多来我们24,25版多多活跃呀
回复 使用道具 举报
回复 使用道具 举报

打印菱形

本帖最后由 べPNヤ 于 2013-8-16 11:18 编辑

打印菱形

rhombus.zip

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

一个菱形

点评

你删 的真是时候  发表于 2013-8-16 11:17
真快了  发表于 2013-8-16 11:15

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 试着做最后的扩展

查看全部评分

回复 使用道具 举报
  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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 你打印一个菱形的正确,你看看题的菱形结构.

查看全部评分

回复 使用道具 举报
我先认个错,原本想把菱形先写出来再进行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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 淡定

查看全部评分

回复 使用道具 举报
LZ我应该怎么设置阅读权限呢?
回复 使用道具 举报
yangxin540 发表于 2013-8-16 11:34
LZ我应该怎么设置阅读权限呢?

你这样就行啊
回复 使用道具 举报
这是我刚刚写的,也没优化,功能是实现了

Diamond.rar

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

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 上下连了左右没连起来

查看全部评分

回复 使用道具 举报
LZ我也不知道对不对,这样加权限,你给我的回复我也看不见
回复 使用道具 举报
本帖最后由 李磊_Adam 于 2013-8-16 14:33 编辑

第一个答案

Test1.rar

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

第一题答案

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
嘿嘿,刚才发那个没注意到,现在我又改了改,都连上了

Diamond.rar

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

回复 使用道具 举报
实在太因了 只能先循环一个!一行俩个还需改进!
如果楼主好淫 直接给本人让代码 让鄙人 也少动一下脑子了
  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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 邻近的两个菱形公用一个*

查看全部评分

回复 使用道具 举报
打印菱形!{:soso_e141:}

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

run1.PNG

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

run2.PNG

PrintLX.rar

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

打印菱形

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
xscn 高级黑马 2013-8-16 16:45:19
20#
本帖最后由 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

评分

参与人数 1技术分 +5 收起 理由
张俊生 + 5 去抢包去吧

查看全部评分

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