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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© surce2012 中级黑马   /  2013-6-22 21:56  /  1568 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

编程实现输入一个数打印一个空心的菱形 使用Scanner实现键盘输入
多重for循环打印空格和*花了大半个小时才写好
  1. /**
  2. @auther Surce
  3. 功能: 打印空心菱形
  4. 时间: 2013.6.22
  5. QQ:627561148
  6. */
  7. import java.util.*;

  8. class LingXing
  9. {
  10.         public static void main(String[] args)
  11.         {
  12.                 System.out.println("请输入一个数");
  13.                 Scanner sc = new Scanner(System.in);
  14.                 int n= sc.nextInt();               
  15.                
  16.                 for (int i=0;i<n;i++)
  17.                 {
  18.                         for(int j=0;j<n-i;j++)
  19.                                 System.out.print(" ");//打印n-i个空格打印一个*
  20.                         System.out.print("*");
  21.                         for(int j=0;j<2*i;j++)
  22.                                 System.out.print(" ");//打印2*i个空格一个*
  23.                         System.out.println("*");
  24.                 }
  25.                 //倒转打印
  26.                 for (int i=n-1;i>=0;i--)
  27.                 {
  28.                         for(int j=0;j<n-i;j++)
  29.                                 System.out.print(" ");//打印n-i个空格一个*
  30.                         System.out.print("*");
  31.                         for(int j=0;j<2*i;j++)
  32.                                 System.out.print(" ");//打印2*i个空格一个*
  33.                         System.out.println("*");
  34.                 }
  35.         }
  36. }
复制代码

点评

继续努力,加油。。。。。。。  发表于 2013-6-22 21:57

评分

参与人数 1技术分 +2 收起 理由
Just_Only + 2 很给力!

查看全部评分

6 个回复

正序浏览
好吧,我承认我服了。。。
回复 使用道具 举报
服!实在是服了
回复 使用道具 举报
截屏看一下效果    谢谢管理员给加分 {:soso_e113:}
回复 使用道具 举报
把代码改了一下实现打印空心圆形的功能
  1. /**
  2. @auther Surce
  3. 功能: 输入半径 打印空心圆形
  4. QQ: 627561148
  5. 2013-6-22
  6. */

  7. import java.util.*;
  8. import static java.lang.Math.*;
  9. //输入半径 打印圆形
  10. class Circular
  11. {
  12.         public static void main(String[] args)
  13.         {
  14.                 System.out.println("请输入一个数");
  15.                 Scanner sc = new Scanner(System.in);
  16.                 int n= sc.nextInt();               
  17.                
  18.                 for (int i=0;i<=n-1;i++)
  19.                 {
  20.                         for(int j=0;j<(int)2*((n-sqrt((pow(n,2)-pow((n-i),2)))));j++)
  21.                                 System.out.print(" ");//根据数学方法打印 n-sqrt(n^2-(n-i)^2)个空格
  22.                         System.out.print("*");
  23.                         for(int j=0;j<4*sqrt((pow(n,2)-pow((n-i),2)));j++)
  24.                                 System.out.print(" ");//打印4*sqrt(n^2-(n-i)^2)个空格
  25.                         System.out.println("*");
  26.                 }
  27.                 //倒转打印
  28.                 for (int i=n-1;i>=0;i--)
  29.                 {
  30.                         for(int j=0;j<(int)2*((n-sqrt(pow(n,2)-pow((n-i),2))));j++)
  31.                                 System.out.print(" ");//打印n-sqrt(n^2-(n-i)^2)个空格
  32.                         System.out.print("*");
  33.                         for(int j=0;j<4*sqrt(pow(n,2)-pow((n-i),2));j++)
  34.                                 System.out.print(" ");//打印4*sqrt(n^2-(n-i)^2)个空格
  35.                         System.out.println("*");
  36.                 }
  37.         }
  38. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
想把代码改一改实现输入半径,打印一个圆形的功能,需要用到Math方法,我再想想明天再发上来..黑马加油!我也是{:soso_e113:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马