研究java实现打印菱形
来源:互联网 发布:js object 删除属性 编辑:程序博客网 时间:2024/05/03 18:23
今天为了检验学习成果,给出了一道题,怎样实现打印菱形,说实话,费了老大的劲
才最后解决了。下面就是我的一些研究:
我们先来了解一下用“*”和“ ”实现打印菱形,它应该是类似一个n*n的正方形,每行的“*”
从一个慢慢递增,到了中间行达到顶,然后又慢慢递减到底。还有一种,是打印空心的菱
形,那就是第一行和最后一行有一个“*”,其他中间行都是两个“*”构成。
我研究了两种方法:
1、i 控制行, j 控制列
public class Lx{public static void main(String[] args) {int m =7; for (int i = 0; i < m; i++){ int t =0; if (i > m / 2) { t = m - 1 - i; }else{ t = i; } for (int j = 1; j <= m; j++) { if (j == (m + 1) / 2 - t || j == (m + 1) / 2 + t) {System.out.print("*"); } else{ System.out.print(" "); } } System.out.print("\n"); }}
t代表空格,每行有多少空格,if(i>m/2)表明行数过半,t=m-1-i是t和i之间的递归关系
j==(m+1)/2-t||j==(m+1)/2+t 表示的是输出“*”条件,有定位的作用,这个程序输出的是空心菱
形,如果把条件改为 j>=(m+1)/2-t&&j<=(m+1)/2+t 就可以打印实心菱形了。
2、这个方法也使用了递归的思路,通过“*”和“ ”的增加、减少的规律,找到他们之间的关系。
public class Lx2{ public static void main(String args[]){ for(int i=1; i<=5; i++) {for (int space=5-i; space>0; space--)//行和空格之间的关系为space=5-i System.out.print(" "); for(int star=1; star<=2*i-1; star++)//星和空格之间的关系为star=2*i-1 System.out.print("*"); System.out.print("\n"); } for(int i=4; i>=1; i--) {for(int space=5-i; space>0; space--) System.out.print(" "); for(int star=1; star<=2*i-1; star++) System.out.print("*"); System.out.print("\n"); } }}
这个就是严格的按照从上一到下的顺序,先打印前5行,再打印下4行。就是按照先空格
后输出顺序,在空格后面输出“*”,不用多讲了,什么都得靠自己悟!
说实话,学习语言就是学习一种思想,语言就是一种工具,它只是用来辅助实现我们
的期望的一种工具。我还是现在才被点醒的,我前十来天一直在苦练算法、死敲程序,
完全没用到自己的大脑,机械性的学习,所获很小,几可不计。学语言只要抓住它的重点
需要我们注意的东西,概念性的东西浏览一遍,记住主要的功能,就够了,在实践中学习
充分发挥自己的思想,这样才能快速熟练地掌握所学语言。重在理解!
- 研究java实现打印菱形
- java实现 打印菱形
- java实现打印菱形
- Java实现打印菱形
- java实现打印菱形
- 用java实现打印菱形,空心菱形
- 利用java实现打印菱形
- java代码实现打印菱形
- 打印菱形源码(java实现)
- java 实现打印输出一个空心菱形
- java实现乘法口诀和打印菱形
- Java实现打印实心与空心菱形
- java打印菱形,空心菱形
- 用java 打印菱形
- java打印菱形思路
- 用java打印菱形
- Java打印出菱形
- java打印菱形
- nginx增加nginx_concat_module
- 每天学习一点点 之 从字符串中筛选出最长数字串
- Java应用级产品开发平台APDPlat
- 拷问Unity:开发U3D游戏要思考的问题
- C# 调用dll 回调函数
- 研究java实现打印菱形
- linux使用命令设置IP,DNS,网关
- 开始OpencvChina论坛的视频教程学习
- clojure开发利器-light table安装使用
- textarea最大长度限制
- 只有外边框的table
- Windows 7 中检查NTP服务是否正常?
- expecting IDENT错误解决办法
- Hadoop namenode无法启动