java 利用*号打印三角形
2016-02-27 02:59
267 查看
利用*号打印如下形式的图形
*
* *
* * *
* * * *
* * * * *
观察这个图形的特点可以初步知道:
1,对应第几行就有几个*号;
2,每个*号之间都有空格;
3,另外为了保持特定形状,*号之前也有特定数量的空格
为了做到这一点,我们可以逐步分解步骤:
1.先写一个循环控制行数,循环次数和要打印的最后一行*号个数一致
2.为了简单起见,可以认为每个*号后面都有一个空格,这样第一行就只有一个*号+“ ”,第二行则有两个*号+“ ”,以此类推
3.为了特定形状,每行第一个*号之前都有特定数量的“ ”,以上图为例第一行*号之前有4个“ ”,第二行第一个*号之前就只有3个“ ”,以此类推,最后一行没有
这样理解后,打印任意个*号组成的三角形代码也就差不多出来了
*
* *
* * *
* * * *
* * * * *
观察这个图形的特点可以初步知道:
1,对应第几行就有几个*号;
2,每个*号之间都有空格;
3,另外为了保持特定形状,*号之前也有特定数量的空格
为了做到这一点,我们可以逐步分解步骤:
1.先写一个循环控制行数,循环次数和要打印的最后一行*号个数一致
2.为了简单起见,可以认为每个*号后面都有一个空格,这样第一行就只有一个*号+“ ”,第二行则有两个*号+“ ”,以此类推
3.为了特定形状,每行第一个*号之前都有特定数量的“ ”,以上图为例第一行*号之前有4个“ ”,第二行第一个*号之前就只有3个“ ”,以此类推,最后一行没有
这样理解后,打印任意个*号组成的三角形代码也就差不多出来了
/** * 用任意个*打印三角形,n必须为正整数 * * @param n * */ public static void printTriangle(int n) throws IllegalArgumentException { if (n < 0) { throw new IllegalArgumentException("不合法的参数" + n); } // 控制行数 for (int i = 1; i <= n; i++) { // 打印每行第一个*之前的空格,第i行对应有n-i个 for (int k = n; k > i; k--) { System.out.print(" "); } // 打印对应每行的"*"+空格,对应第i行打印i次 for (int j = 1; j <= i; j++) { System.out.print("* "); } // 换行 System.out.println(""); } }这是printTriangle(20);的结果:
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树