Java例题_19 打印菱形图案
2024-09-01 11:10:40
1 /*19 【程序 19 打印菱形图案】
2 题目:打印出如下图案(菱形)
3 *
4 ***
5 *****
6 *******
7 *****
8 ***
9 *
10 */
11
12 /*分析
13 * 首先想到for循环,但是for只能完成递增或者递减,于是将图形分成两部分,一个正三角,一个倒三角
14 * 三角形的输出就像九九乘法表,用到两层循环,一层控制输出多少行,另一层控制输出*的个数
15 * 但是怎么居中呢。。。
16 * =========居中=======
17 * 据观察:找到三角中轴位置X,然后 上三角时(x-i)<j<(x+i)时输出*,其他输出" "
18 * 下三角时(i-x)<j<n-(i-x)+1 时输出*,其他输出" "
19 * //i是这一行的行数
20 * x=n/2+1
21 * */
22
23 package homework;
24
25 public class _19 {
26
27 public static void main(String[] args) {
28 // 声明n=7,也就是共输出7行
29 int n = 7;
30 int x=n/2+1; //x是中轴
31 //两层for循环输出*
32 for (int i = 1; i <=n; i++) { //一共7行
33 //上三角
34 if (i<=x) { //行数在中轴之上(包括中轴)
35 //第二层for循环输出上三角*
36 for (int j = 1; j <=n; j++) {
37 if ((j>x-i)&(j<x+i)) { //在中轴偏移量范围内输出*
38 System.out.print("*");
39 }
40 else {
41 System.out.print(" "); //中轴偏移外输出“ ”
42 }
43 }
44 }
45 //下三角
46 else {
47 //第二层for循环,输出下三角的*(i=>5~7)
48 for (int j = 1; j <=n; j++) {
49 if ((j>i-x)&(j<n-(i-x)+1)) {
50 System.out.print("*");
51 }
52 else {
53 System.out.print(" "); //中轴偏移外输出“ ”
54 }
55 }
56 }
57 System.out.println(); //换行
58 }
59 }
60
61 }
最新文章
- Update: ELCImagePickerController
- C#一元运算重载的深入理解
- PHP中的一个”坑“
- ACM/ICPC 之 SPFA范例两道(POJ3268-POJ3259)
- WinRAR安装、破解与去除弹窗广告
- 中文+django1.9+python3.5一些注意点
- Android图片压缩
- Android的Recovery中font_10x10.h字库文件制作
- C++----练习--bool类型作为特别的int要区别对待
- POJ3176--Cow Bowling(动态规划)
- 发邮件、排序、FIFO
- CSS 小结笔记之变形、过渡与动画
- Java多线程和并发基础面试总结
- 25个精致的IPHONE 6和APPLE WATCH原型下载!
- Android 应用开发者必看的 9 个 Tips
- Hbase 学习(二)各种filter
- DataGridView使用技巧一:获取或设置当前单元格的内容
- string 线程安全
- [转]详细解析Java中抽象类和接口的区别
- 【codevs2495】水叮当的舞步
热门文章
- React 性能优化 All In One
- document.getElementById &; document.querySelector
- Chrome debug &; string to object &; copy format json
- flutter 插件调用callback函数
- APC体育公司重视“女性经济 ”深度挖掘女性市场
- Python算法_斐波那契数列(10)
- docket 缺陷
- 重量级锁synchronized的优化----自旋锁、自适应自旋锁、锁消除、锁粗化
- 视频+图文串讲:MySQL 行锁、间隙锁、Next-Key-Lock、以及实现记录存在的话就更新,如果记录不存在的话就插入如何保证并发安全
- su: Authentication failure解决方法