首页 > 解决方案 > 无法使用扫描仪进行输入

问题描述

我只是不能用扫描仪阅读。我读了很多其他的帖子,但我就是不明白这个世界上有什么问题。我尝试过使用缓冲区读取,但它也给出了错误。我就是想不通。我应该怎么办?

This is the error:

    Start : 1
Exit : 2
=> 1
Enter your name
=> 
Exception in thread "main" java.util.NoSuchElementException: No line found
    at java.base/java.util.Scanner.nextLine(Scanner.java:1651)
    at pcGame/pkg.GameLogic.characterCreation(GameLogic.java:28)
    at pcGame/pkg.GameLogic.main(GameLogic.java:41)

这是代码:

        package pkg;

import java.util.Scanner;

public final class GameLogic {
    
    public void gameMenu() {
        System.out.print("Start : 1\nExit : 2\n=> ");
        int opt = 1;
        Scanner input = new Scanner(System.in);
        opt = input.nextInt();
        
        switch(opt) {
        case 1:
            input.close();
            return;
            
        case 2:
            System.exit(0);
        }
        input.close();
    }
    
    public void characterCreation() {
        Scanner input = new Scanner(System.in);
        
        System.out.println("Enter your name\n=> ");
        String name = input.nextLine();
        
        System.out.println("Enter your \n=> ");
        String story = input.nextLine();
        
        //Player.initialize("name", "story"); //Initializes Player
        
        input.close();
    }

    public static void main(String[] args) {
        GameLogic game = new GameLogic();
        game.gameMenu();
        game.characterCreation();
        
        
        
        while(true) {
            //Game Happens
            break;
        }
    }
}

标签: javajava.util.scanner

解决方案


只是尝试删除input.close();语句


推荐阅读