繁体   English   中英

如何在 Java 中使用二维数组创建表?

[英]How do I create a table using 2D array in Java?

在此处输入图片说明

你好 :)

我需要为电影院的座位和行创建一张桌子(如图片中的那个),但我不知道如何在左侧打印行号。 我已经设法将座位和桌子上方的数字放在一起,但我未能在左侧添加带有数字的列。 也许你们可以给我一些建议? 这是代码!

Scanner scanner = new Scanner(System.in);
int row = scanner.nextInt();
int seat = scanner.nextInt();

char[][] array = new char[row][seat];

System.out.print("  ");
for (int i = 1; i < seat + 1; i++)
    System.out.print(i + " ");
    
System.out.println();

for (int i = 0; i < array.length; i++) {
    System.out.print("  ");
    for (int j = 0; j < array[i].length; j++)
        System.out.print('S' + " ");

    System.out.println();
}

它更像是简单的编程问题而不是 Java 问题。 使用了许多丑陋的解决方案,但会尝试遵循您使用的约定。

考虑一下您正在逐步使用的数组和循环。 第一次循环

for (int i = 1; i < seat + 1; i++) {
        if (i == 1) {
            System.out.print("  ");
        }
        System.out.print(i + " ");
}

从 0 开始计数是首选方式,但此循环仅用数字填充第一行。

在第二个循环中, i仍然是您的行计数器,而j只是一个列计数器:

for (int i = 0; i < array.length; i++) {
        for (int j = 0; j < array[i].length; j++) {
            if (j == 0) {
                System.out.print("  ");
            }
            System.out.print('S' + " ");
        }
    System.out.println();
}

您的问题确实是:如何在第一列中逐行写入数字。 使用您刚刚提供的代码对此有一个简单的答案。 在您的代码中,如果第j列等于 0,那么您现在只是在写空白,而是要写行号i 我希望这会给你一个线索。 尝试自己解决。 如果你仍然不能,那么:

将第二个循环中的第二个 for 的主体更改为 System.out.print(i + " ");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM