用java打印菱形
思路:
首先我们需要先分析整体结构
想要打印菱形,我们可以分为两个部分,即看成两个三角形,上面是3行的正向三角形,下面是2行的倒立着的三角形,这两个部分组合在一起,第一步我们先打印出上面的3行,第二步再打印出下面2行
1.用i表示行数,用j表示三角形每行元素前面的空格,用*号表示三角形的元素,用for循环嵌套即可完成,结构分析和代码如下,输入之后可以先运行尝试一下:
i | j | k | 关系 |
---|---|---|---|
1 | 2 | 1 | j=3-i,k=2*i-1 |
2 | 1 | 3 | |
3 | 0 | 5 |
for (int i = 1; i <= 3; i++) { //打印行数
for (int j=1;j<=3-i;j++){ //打印空格
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++){ //打印*号
System.out.print("*");
}
System.out.println(); //在最后执行换行操作
}
2.接下来打印下边的小三角形,同样的用i表示行,j表示空格,k表示*号,代码如下:
i | j | k | 关系 |
---|---|---|---|
1 | 1 | 3 | j=i,k=5-2*i |
2 | 2 | 1 |
for (int i = 1; i <= 2; i++) { //打印行
for(int j=1;j<=i;j++){ //打印空格
System.out.print(" ");
}
for(int k=1;k<=5-2*i;k++){ //打印*号
System.out.print("*");
}
System.out.println(); //在每个最外层for循环结束时执行换行操作
}
所有代码如下:
//For循环打印菱形
public class For菱形 {
public static void main(String[] args) {
for (int i = 1; i <= 3; i++) { //打印行数
for (int j=1;j<=3-i;j++){ //打印空格
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++){ //打印*号
System.out.print("*");
}
System.out.println(); //在最后执行换行操作
}
for (int i = 1; i <= 2; i++) { //打印行
for(int j=1;j<=i;j++){ //打印空格
System.out.print(" ");
}
for(int k=1;k<=5-2*i;k++){ //打印*号
System.out.print("*");
}
System.out.println();
}
}
}
输出结果:
打印菱形,主要是为了加强对for循环嵌套的使用,在用代码执行之前,首先需要在脑子里形成一个比较清晰的思路,第一步干什么,第二部干什么,需不需要分步骤完成,如果对上述思路还有不清楚了,可以用debug进行调试
debug调试:先在main方法入口设置断点,然后调试
我们先选择console控制台,然后选择箭头所指处下一步,程序就会按照步骤,从主方法进去开始执行,大家可以详细的看到程序的执行步骤,有助于对for循环嵌套有一个清晰的了解