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.in
的 Scanner
,并且 System.in
无论如何都会自动关闭,所以不用担心。
请注意,如果您使用 File
而不是 System.in
打开它,您 应该 关闭 Scanner
。
我试图让 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.in
的 Scanner
,并且 System.in
无论如何都会自动关闭,所以不用担心。
请注意,如果您使用 File
而不是 System.in
打开它,您 应该 关闭 Scanner
。