已有101人关注
使用for循环输出空心的菱形(Java从入门到精通实例版第2版第84页到第85页经典范例1)
发表在Java图书答疑 2019-01-19 《Java从入门到精通(第4版)》第4章 流程控制
是否精华
版块置顶:
此题出自《Java从入门到精通实例版第2版》
第84页到第85页经典范例1,
因为明日科技出版的书籍比较多,
下拉列表没有《Java从入门到精通实例版第2版》,
所以只能选择《Java从入门到精通第4版》

package mingrikeji;


public class Diamond {

public static void main(String[] args) {

printHollowRhombus(10);

}


public static void printHollowRhombus(int size) {

if (size % 2 == 0) {

size++; // 计算菱形大小

}

for (int i = 0; i < size / 2 + 1; i++) {

for (int j = size / 2 + 1; j > i + 1; j--) {

System.out.print(" "); // 输出左上角位置的空白

}

for (int j = 0; j < 2 * i + 1; j++) {

if (j == 0 || j == 2 * i) {

System.out.print("*"); // 输出菱形上半部边缘

} else {

System.out.print(" "); // 输出菱形上半部空心

}

}

System.out.println("");

}

for (int i = size / 2 + 1; i < size; i++) {

for (int j = 0; j < i - size / 2; j++) {

System.out.print(" "); // 输出菱形左下角空白

}

for (int j = 0; j < 2 * size - 1 - 2 * i; j++) {

if (j == 0 || j == 2 * (size - i - 1)) {

System.out.print("*"); // 输出菱形下半部边缘

} else {

System.out.print(" "); // 输出菱形下半部空心

}

}

System.out.println("");

}

}

}

完全看不懂这道题的业务逻辑,老师能不能讲讲嵌套for循环和这道题的业务逻辑?


2019-01-20 10:27:40编辑
分享到:
精彩评论 2
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2019-01-21
沙发

这个实例的写法有很多,这是其中一种,建议你在草纸上模拟整个程序的运行过程,这样就理解了。程序吧菱形分成上下两个三角进行计算,i是层数,j是列数

顺应天意了却凡尘
学分:11 LV2
2019-01-22
板凳

根号申 发表于2019-01-21 08:58

这个实例的写法有很多,这是其中一种,建议你在草纸上模拟整个程序的运行过程,这样就理解了。程序吧菱形分成上下两个三角进行计算,i是层数,j是列数

现在问题关键就是没找到这道题的具体逻辑规律,能讲讲具体是怎么实现这道题的逻辑?

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照