让我们来详细讲解Java利用for循环输出空心三角形、空心菱形和空心矩形的代码。
输出空心三角形
首先,我们要理解空心三角形的形状,它是由多个递进的空格和星号组成的,而每行的符号数都是依次递增或递减的。
下面是一个输出空心三角形的示例代码:
public class HollowTriangle {
public static void main(String[] args) {
int num = 5; // 控制行数
for(int i = 1; i <= num; i++) {
for(int j = 1; j <= num - i; j++) {
System.out.print(" "); // 输出空格
}
for(int k = 1; k <= (2*i-1); k++) {
if(k == 1 || k == (2*i-1) || i == num) {
System.out.print("*"); // 输出星号
} else {
System.out.print(" "); // 输出空格
}
}
System.out.println(); // 换行
}
}
}
代码中的三个for循环分别控制了输出的行数、空格数和星号数,其中:
- 外层循环控制行数;
- 第二个循环控制空格数,循环次数为当前行数 - 1,即前面的空格数需要递减;
- 第三个循环控制星号数,循环次数为当前行数的2倍 - 1,其中需要特殊处理的情况是第一个星号、最后一个星号和最后一行的星号都是需要输出的,其它位置都是空格。
运行结果如下:
*
* *
* *
* *
* * * * *
输出空心菱形
同样地,我们需要理解空心菱形的形状,它是由多个递进的空格和星号组成的,而每行的符号数都是依次递增或递减的,但是它与空心三角形不同的是,空心菱形是由两个三角形组成的,因此需要对空格和星号的输出做一定的变化。
下面是一个输出空心菱形的示例代码:
public class HollowDiamond {
public static void main(String[] args) {
int num = 5; // 控制行数
for(int i = 1; i <= num; i++) {
for(int j = 1; j <= num - i; j++) {
System.out.print(" "); // 输出空格
}
for(int k = 1; k <= (2*i-1); k++) {
if(k == 1 || k == (2*i-1)) {
System.out.print("*"); // 输出星号
} else {
System.out.print(" "); // 输出空格
}
}
System.out.println(); // 换行
}
for(int i = num - 1; i >= 1; i--) {
for(int j = num - i; j >= 1; j--) {
System.out.print(" "); // 输出空格
}
for(int k = 1; k <= (2*i-1); k++) {
if(k == 1 || k == (2*i-1)) {
System.out.print("*"); // 输出星号
} else {
System.out.print(" "); // 输出空格
}
}
System.out.println(); // 换行
}
}
}
代码中使用了两个for循环分别输出了上下两个三角形,其中:
- 第一个for循环和第二个for循环的作用与空心三角形相同;
- 每个三角形的第一个和最后一个星号仍然是需要输出的;
- 对于第一个三角形,第+i行打印2*i-1个星号;
- 对于第二个三角形,第+i行打印2*i-1个星号。
运行结果如下:
*
* *
* *
* *
* *
* *
* *
* *
*
输出空心矩形
最后,我们需要理解空心矩形的形状,它是由多个递进的空格和星号组成的,而每行的符号数都是不同的。下面是一个输出空心矩形的示例代码:
public class HollowRectangle {
public static void main(String[] args) {
int row = 4; // 控制行数
int col = 6; // 控制列数
for(int i = 1; i <= row; i++) {
for(int j = 1; j <= col; j++) {
if(i == 1 || i == row || j == 1 || j == col) {
System.out.print("*"); // 输出星号
} else {
System.out.print(" "); // 输出空格
}
}
System.out.println(); // 换行
}
}
}
代码中使用了嵌套的for循环输出矩形,其中:
- 外层循环用于控制输出的行数;
- 内层循环用于控制输出的列数,如果是第一行、最后一行、第一列、最后一列则输出星号,否则输出空格。
运行结果如下:
******
* *
* *
******
以上就是Java输出空心三角形、空心菱形和空心矩形的完整攻略和代码示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java利用for循环输出空心三角形、空心菱形和空心矩形的代码 - Python技术站