首页 > 解决方案 > Java - 打印 X^X^X 方块

问题描述

我有一个任务要做,我的任务是打印 X 个 X^X 的正方形。例如,输入“3”的正确输出如下图

这里的例子:
图片

我的代码:

Scanner s = new Scanner (System.in);
int base, k=0;
System.out.println("Enter a number do draw some squares");
base = s.nextInt();
int bb = base*base;

for (int t=0; t<=bb; t++) {
    if (t<bb) {
        for (int i=0; i<base; i++) {
            for (k=0; k<=base; k++) {
                if (k<base) 
                    System.out.print("*");
                else
                    System.out.print(" ");
            }
        }
    }
    System.out.println();
}

当尝试使用 '2' 作为基础时,输出为:

** ** 
** ** 
** ** 
** ** 

我的输出:
图片

如何在每 2 行之间留出空格?

真挚地,

标签: javaloops

解决方案


当循环计数器可被基数整除时,您需要更改输出,即 when the_loop_counter % base = 0

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.print("Enter a number do draw some squares: ");
        int base = s.nextInt();
        int bb = base * base;

        for (int i = 1; i <= bb; i++) {
            for (int j = 1; j <= bb; j++) {
                System.out.print(j % base == 0 ? "* " : "*");
            }
            System.out.println(i % base == 0 ? System.lineSeparator() : "");
        }
    }
}

示例运行:

Enter a number do draw some squares: 3

*** *** *** 
*** *** *** 
*** *** *** 

*** *** *** 
*** *** *** 
*** *** *** 

*** *** *** 
*** *** *** 
*** *** *** 

推荐阅读