首页 > 解决方案 > 使用扫描仪输入时如何写出表格?

问题描述

我编写了代码来制作一个包含随机列和行的表格,对于表格中的每个位置,程序要求用户写里面的内容。对于输入,我使用了扫描仪。我的问题是,我如何打印出带有用户输入的表格?你能解释一下它是如何完成的,为什么?谢谢

public static void main(String[] args) {

    int row = (int)(Math.random() * 5 + 1);
    int column =(int)(Math.random() * 5 + 1);

    String[][] table = new String [row][column];

    Scanner read = new Scanner(System.in);

    //String word = "";
    for(int i = 0; i < table.length; i++) {
        for(int j = 0; j < table[i].length; j++) {

            System.out.print("Write a name of a fruit: ");
            String word = read.next();

标签: javajava.util.scanner

解决方案


您需要先获取用户输入并将它们存储在您的表中

将您的代码更改为:

for (int i = 0; i < table.length; i++) {
    for (int j = 0; j < table[i].length; j++) {
        System.out.print("Write a name of a fruit: ");
        String word = read.nextLine();
        table[i][j] = word;
    }
}

在此之后,如果您希望以表格格式打印给定水果名称的用户,您应该添加以下代码

for (int i = 0; i < table.length; i++) {
    for (int j = 0; j < table[i].length; j++) {
        System.out.print(" | " + table[i][j]);
    }
    System.out.print(" |");
    System.out.println();
}

我们在这里所做的是循环遍历每一行的列。当我们到达列的末尾时,我们打印一个新行,以便下一行打印在一个新行中。我添加了|(管道)以显示每列之间的边界。

对于 2X2 表,输出将如下所示:

 | Mango | Raspberry |
 | Strawberry | Apple |

注意:您也可以使用初始的 for 循环来显示值。但我选择创建另一组循环以便清楚地理解。


推荐阅读