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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘家斌 中级黑马   /  2014-10-12 15:45  /  1549 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class ForTu
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for(int x=0;x<5;x++)
  6.                 {
  7.                         for(int y=x;y<5;y++)//改变初始值表达式,尖向下,改变条件表达式,尖向上
  8.                         {
  9.                                 System.out.print('*');
  10.                         }
  11.                         System.out.println();
  12.                 }       
  13.         }
  14. }
复制代码
怎么利用for嵌套打印出的形状呢?条件是怎么控制的啊

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 淡定

查看全部评分

5 个回复

正序浏览
简单一句话,外循环控制行,内循环控制列 .  两个基本的for打印矩形,内小于外,打印正三角,其它的就是在此基础上深演化的.
回复 使用道具 举报
假设我们打印的是*组成的图案
首先你要知道,外部循环是控制行,内部循环是控制列。  所以你先看你要打印多少行,就可以先把外部循环的参数确定好了。我们可以先称外循环叫for1      
然后到内循环。如果要打印尖头朝下的三角形,那就是要打印的 * 的个数是递减的;如果要打印尖头朝上的,那打印的 * 的个数递增的。这样内循环的参数也就可以确定的了,我们先把打印 * 的循环叫for2.
还有就是如果你的三角形是右对齐,那在for2打印的时候,都要在前面打印个空格,这时就要在for2前面再加个循环for3来打印空格。for3的参数是要看你打印多少个空格来设定的。也就是一个外循环,里面嵌套两个内循环。 当然如果三角是左对齐的话就不用考虑在前面打印空格了
利用for嵌套还能打印其他的图案,大多也可以参考上面的方式
回复 使用道具 举报
for嵌套 外循环控制的是你要打多少行 内循环控制的是你每一行要打什么
例如 for(int y= 0 ;y<5;x++) {System.out.print("*");}这句话意思是一行要打五颗星 对吧
然后你说要打10行  意思就是这段代码执行10遍 然后for(int x=0;x<10;x++ ){上面的话作为此处代码块,意思是此处打印五颗星,此代码块一共执行了10次}
这个明白了没?————明白了,我们进行下一步就简单多了,你要抓住嵌套循环的实质“既然外循环控制行数,内循环控制列数”
那么“改变内循环初始值表达式”实质是改变什么? 改变的是不是这一列的初始值,就是这一列从第几个开始打印?
“改变条件表达式”是不是这一列打印的个数,就是这一列打印几个?
回复 使用道具 举报
嗯嗯,搞懂了
回复 使用道具 举报
同学,建议使用调试工具去跟踪变量的变化和执行过程,那么你就能明白怎么改变形状了解决办法:
将外层循环的  初始值改成 4 ,将条件改成 x >=0  ,再将第三个表达示改成 递减,那就可以将倒三角变成正三角了
  1. public static void main(String[] args)
  2.      {
  3.              for(int x=4;x>=0;x--)
  4.              {
  5.                      for(int y=x;y<5;y++
  6.                      {
  7.                              System.out.print('*');
  8.                      }
  9.                      System.out.println();
  10.              }        
  11.      }
复制代码




评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞一个!

查看全部评分

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