Java 方法不会执行多次

Java method will not execute multiple times

我试图让 printMethod 方法针对 6 个不同的输入执行 6 次,但它需要一个输入,输出一次结果然后结束。我试过将方法调用定位在不同的位置,但似乎没有任何区别。有人可以告诉我我做错了什么吗?

 import java.util.Scanner;
 public class Lab_Week4_PrintTable_Part2 {
    public static void main(String[] args)   {

        printMethod();
        printMethod();
        printMethod();
        printMethod();
        printMethod();
        printMethod();

        }

        private static void printMethod() {
            Scanner data = new Scanner (System.in);
            String output = data.nextLine();
            System.out.println("---------------------");     
            System.out.println("|   |   |   |   |   |");
            System.out.println(output);
            System.out.println("|   |   |   |   |   |");     
            System.out.println("---------------------");
            data.close();
    }

     }

这是因为关闭了使用 System.in 打开的 Scanner

System.in 由 JVM 打开,如果您在关闭 Scanner 时强行关闭它,您将发现在程序的其余部分无法再次打开它。

如果您不想看到警告,只需删除 data.close() 行并取消 Scanner 的警告,您的程序将按预期运行。

通常您不想关闭正在使用 System.inScanner,并且 System.in 无论如何都会自动关闭,所以不用担心。

请注意,如果您使用 File 而不是 System.in 打开它,您 应该 关闭 Scanner