Java输入需要两次-我解析了一个整数,这样我就可以使用scanner.next();

mdfafbf1  于 2023-05-12  发布在  Java
关注(0)|答案(1)|浏览(136)
public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    // printing menu 
    System.out.println(menu);
    boolean quit = false;
    int selection;
    do {
        // next user input (of integer type) will be stored in the variable selection
        selection = Integer.parseInt(scanner.next());
        switch (selection) {
            case 1:
                System.out.println("Please enter a new record as John Michael West Doe, 574 Pole ave, St. Peter, MO, 63303, 3142752000");

                scanner.useDelimiter(",");

                Person[] people = new Person[0];

                while (scanner.hasNext()) {
                    String fullName = scanner.next();
                    String street = scanner.next();
                    String city = scanner.next();
                    String state = scanner.next();
                    String zipC = scanner.next();
                    String phoneN = scanner.next();

                    System.out.println(fullName);
                }

                break;
            case 2:
                // method to delete record - remove 
                break;
            case 3:
                // search by telephone number
                break;
            case 4:
                // find record by first name
                break;
            case 5:
                // find record by last name
                break;
            case 6:
                // update a record 
                break;
            case 7:
                quit = true;
                break;
            default:
                System.out.println("Invalid");
        }
    } while (selection != 7);
}

嗨,我目前正在处理案例1 -我的问题是,我必须输入代码两次,它接受它,并打印出fullName字符串..
即使在开始时,当我进行选择并按1并回车时,我必须在弹出“请输入新记录......”行之前键入另一个键。
我刚刚了解了nextInt的作用以及它是如何留下新行的,所以我对它进行了解析,以便使用scanner.next();
我只是想知道你为什么要挂电话。
谢谢大家。

t5fffqht

t5fffqht1#

scanner.nextInt()Integer.parseInt(scanner.next())之间没有区别,除了在输入流中的下一个标记不是整数时抛出的错误类型。你一定是误解了一些事情。
我把你的代码粘贴到一个文件中,编译它,运行它,但无法重现你观察到的“我必须按回车键两次”的行为。我只按一次回车键,然后显示Please enter...
你的代码没有任何问题。至少,没有什么可以解释为什么你需要在这里双重输入。

相关问题