gpt4 book ai didi

java - 文件输入java,扫描器使用if..else语句。提供错误

转载 作者:行者123 更新时间:2023-12-01 14:03:01 25 4
gpt4 key购买 nike

好的,所以我尝试正常地从 3 个文件中的 1 个读入,而不使用 if ... else 子句

只是 Scanner myScanner = new Scanner(new File("maze1.txt")); 会运行问题,但我希望用户选择他/她想要运行的迷宫

public class Main {
private static Scanner myScanner;

public static void main(String[] args) throws FileNotFoundException {

System.out.println("Please Enter 1,2 or 3 to pick the different maze you would like being solved.");
Scanner myScannerinput = new Scanner(System.in);



int Mazenumber = myScannerinput.nextInt();

if(Mazenumber == 1){
Scanner myScanner = new Scanner(new File("maze1.txt"));
}
else if(Mazenumber == 2){
Scanner myScanner = new Scanner(new File("maze2.txt"));
}
else if(Mazenumber == 3){
Scanner myScanner = new Scanner(new File("maze3.txt"));
}
else{
System.out.println("You did not choose one of the 3 mazes");
}



int numRows = myScanner.nextInt();
int numCols = myScanner.nextInt();
myScanner.nextLine();

int startX = 0;
int startY = 0;'

请输入 1,2 或 3 以选择您想要解决的不同迷宫。

Exception in thread "main" java.lang.NullPointerException
at Main.main(Main.java:33)

最佳答案

不要在 if 条件内创建单独的新扫描程序。在 if 条件之前创建一个扫描程序,并根据您的偏好分配文件。

        int Mazenumber = myScannerinput.nextInt();
Scanner myScanner =null;
if(Mazenumber == 1){
myScanner = new Scanner(new File("maze1.txt"));
}
else if(Mazenumber == 2){
myScanner = new Scanner(new File("maze2.txt"));
}
else if(Mazenumber == 3){
myScanner = new Scanner(new File("maze3.txt"));
}
else{
System.out.println("You did not choose one of the 3 mazes");
}
if(myScanner!=null){
int numRows = myScanner.nextInt();
int numCols = myScanner.nextInt();
myScanner.nextLine();
}

关于java - 文件输入java,扫描器使用if..else语句。提供错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19192457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com