此题出自《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循环和这道题的业务逻辑?