如何修改Java循环方向,将3x3星号块打印方向从向下改为向右
问题分析
原有代码的循环逻辑是先遍历要打印的星块总数,再逐个打印单个星块的完整3行内容,会把一整个3x3星块全部打印完成后才打印下一个,最终呈现纵向排列效果。
修改思路
要实现横向排列,需调整循环的嵌套顺序:
- 最外层优先遍历星块的行(总共3行),同一行内要把所有星块的对应行全部打印完再换行
- 中间层遍历全部a个星块,打印每个星块的当前行内容
- 最内层打印单个星块当前行的3个星号,可在星块之间加空格区分边界
修改后可运行代码
import java.util.Scanner; public class Program { public static void main(String[] args) { Scanner getInp; int a; getInp = new Scanner(System.in); a = getInp.nextInt(); getInp.close(); // 第一层:遍历3x3星块的每一行 for (int y = 0; y < 3; y++) { // 第二层:遍历所有要打印的星块,同一行输出所有星块的当前行 for (int x = 0; x < a; x++) { // 第三层:打印单个星块当前行的3个星号 for (int z = 0; z < 3; z++) { System.out.print("* "); } // 星块之间加空格区分,可按需调整间隔 System.out.print(" "); } // 所有星块的当前行打印完成后统一换行 System.out.println(); } } }
效果示例
当输入数值为3时,输出效果如下:
* * * * * * * * * * * * * * * * * * * * * * * * * * *
内容的提问来源于stack exchange,提问作者luthfinzo
相关产品推荐
相关产品推荐

