黑马程序员技术交流社区

标题: 你觉得你对for循环理解多少! [打印本页]

作者: 艺多不压身丶    时间: 2015-3-6 23:18
标题: 你觉得你对for循环理解多少!
  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, 下载次数: 44)

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

作者: fantacyleo    时间: 2015-3-6 23:59
这好像跟对for循环的理解关系不大,主要是算法
作者: 硫氢化铁    时间: 2015-3-7 10:07
我去...........瞬间觉得自己学的for语句弱爆了...........
作者: lwenz    时间: 2015-3-7 10:29
666。。。
作者: 弹剑高歌踏浪行    时间: 2015-3-7 10:56
楼主没加注释哦;P
作者: wenhb    时间: 2015-3-7 12:12
果然有和我一样无聊的人来写这个
作者: Johnny_Hu    时间: 2015-3-7 12:46
:)厉害啊  我以前都是打印菱形的
从来没想过还能打印心形  受教了
作者: IT未来    时间: 2015-3-7 13:13
没多大的理解
作者: huangchunwei    时间: 2015-3-7 13:13
对对,可以打印出好多形状的,我之前试过想打印流星雨那样的,不过没成功。哈哈~~~~(PS:版主大型的心形很棒噻。。)
作者: doomsday    时间: 2015-3-7 15:11
算法很重要
作者: 无力去闹    时间: 2015-3-7 16:42
看新版主出的帖子 就第一个打印菱形题研究一下午  感觉for循环真的是很深奥啊
作者: 勇闯☀☀黑马    时间: 2015-3-7 17:23
我还迷糊着呢。
作者: 执梦而行    时间: 2015-3-7 18:01
学会算法,什么形状也能打印出来
作者: aawenwei    时间: 2015-3-7 20:10
赞                          
作者: hss01248    时间: 2015-3-7 20:13
主要是算法啦
作者: 迷茫不堪的年纪    时间: 2015-3-7 21:17
还好昨天刚看完 循环,大致是看懂了就是 条件值的 运算稍微有点模糊
作者: 班凤飞    时间: 2015-3-7 21:40
厉害:funk:




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