有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java用户输入nextLine()不等待输入

我的输入有一个小问题:

public void input() 
{
    Scanner scn = new Scanner( System.in );
    System.out.print( "Please enter id: " );
    id = scn.nextInt();
    System.out.print( "Please enter name: " );
    title = scn.nextLine();
    System.out.print( "Please enter author: " );
    author = scn.nextLine();
}

现在我使用scn.nextLine(),因为我想在命名和作者时使用空格,如:

USER INPUT:
    Story of Something
    Sir Whatever

问题是,当我使用nextLine()时,程序不会等待我的输入,它只是继续,我的控制台将如下所示:

Please enter id: 4632
Please enter name: Please enter author: what, why??

有没有办法解决这个问题,请帮忙


共 (1) 个答案

  1. # 1 楼答案

    我要做的一件事是将id设置为字符串。我的意思是省去你的头疼,除非你正在做一些事情,需要你把它保存为一个实际的整数,那么我建议把Id移到最后

    import java.util.Scanner;
    

    公共类LetsLearnJava {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String title, author, id;
    
        Scanner myScan = new Scanner( System.in );
    
        System.out.print( "Please enter id: " );
        id = myScan.nextLine();
    
        System.out.print( "Please enter name: " );
        title = myScan.nextLine();
    
        System.out.print( "Please enter author: " );
        author = myScan.nextLine();
    
        System.out.print("You entered: " + id + " " +  title + " " + author);
    
    }
    

    }