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

标签 java

好的,所以我尝试正常地从 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/

相关文章:

java - 使用集合 .txt 文件中的 Map TreeSet 对单选按钮进行分组

java - 更新 Android Studio 后膨胀类 CollapsingToolbarLayout 时出错

java - Fragment 中的 RecyclerView

java - 在 MySQL 中返回游标

java - 难以理解和实现 Ford Fulkerson 算法

java - JmDNS - 在多台机器上注册相同的服务

java - 如何将 Mongodb 聚合(展开、匹配和项目)查询转换为 java 代码

java - 如何在没有 appengine 的情况下使用 google-api-services-plus-v1

java - Hibernate 加入 Spring boot 应用程序

java - 多个 JTextPanes 的滚动条 (Java)