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

© 艺多不压身丶 高级黑马   /  2015-3-6 23:18  /  1730 人查看  /  16 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package pack;
  2. class Heart{
  3.         public static void main(String[] args){
  4.                 int n=4;
  5.                 int i,j,m;
  6.                 for(i=1;i<=n;i++){
  7.                         for(j=1;j<=2*(n-i)-1;j++){
  8.                                 System.out.print(" ");
  9.                         }
  10.                         for(j=1;j<=6+(10-i)*(i-1)/2;j++){
  11.                                 System.out.print("*");
  12.                         }
  13.                         for(j=1;j<=2*n-1+(i-6)*(i-1);j++){
  14.                                 if(i==n)
  15.                                         break;
  16.                                 System.out.print(" ");
  17.                         }
  18.                         for(j=1;j<=6+(10-i)*(i-1)/2;j++){
  19.                                 if(i==n)
  20.                                         break;
  21.                                 System.out.print("*");
  22.                         }
  23.                         if(i==n){
  24.                                 for(j=1;j<=6+(10-i)*(i-1)/2-1;j++){
  25.                                         System.out.print("*");
  26.                                 }
  27.                         }
  28.                         System.out.println("");
  29.                 }
  30.                 for(i=1;i<=n-2;i++){
  31.                         for(j=1;j<=6+(10-n)*(n-1)/2-1+6+(10-n)*(n-1)/2;j++){
  32.                                 System.out.print("*");
  33.                         }
  34.                         System.out.println("");
  35.                 }
  36.                 m=6+(10-n)*(n-1)/2+6+(10-n)*(n-1)/2-1;
  37.                 for(i=1;i<=(m-2-3)/4+1;i++){
  38.                         for(j=1;j<=2*i-1;j++){
  39.                                 System.out.print(" ");
  40.                         }
  41.                         for(j=1;j<=m+2-4*i;j++){
  42.                                 System.out.print("*");
  43.                         }
  44.                         System.out.println("");
  45.                 }
  46.                 for(j=1;j<=2*((m-2-3)/4+1);j++){
  47.                         System.out.print(" ");
  48.                 }
  49.                 System.out.print("*");
  50.         }
  51. }
复制代码


5QKB%EM[T76M{O5(X6{A%6K.jpg (64.65 KB, 下载次数: 46)

5QKB%EM[T76M{O5(X6{A%6K.jpg

16 个回复

正序浏览
厉害:funk:
回复 使用道具 举报
还好昨天刚看完 循环,大致是看懂了就是 条件值的 运算稍微有点模糊
回复 使用道具 举报
主要是算法啦
回复 使用道具 举报
赞                          
回复 使用道具 举报
学会算法,什么形状也能打印出来
回复 使用道具 举报
我还迷糊着呢。
回复 使用道具 举报
看新版主出的帖子 就第一个打印菱形题研究一下午  感觉for循环真的是很深奥啊
回复 使用道具 举报
算法很重要
回复 使用道具 举报
对对,可以打印出好多形状的,我之前试过想打印流星雨那样的,不过没成功。哈哈~~~~(PS:版主大型的心形很棒噻。。)
回复 使用道具 举报
没多大的理解
回复 使用道具 举报
:)厉害啊  我以前都是打印菱形的
从来没想过还能打印心形  受教了
回复 使用道具 举报
果然有和我一样无聊的人来写这个
回复 使用道具 举报
楼主没加注释哦;P
回复 使用道具 举报
666。。。
回复 使用道具 举报
我去...........瞬间觉得自己学的for语句弱爆了...........
回复 使用道具 举报
这好像跟对for循环的理解关系不大,主要是算法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马