Java扫描程序类未等待用户输入

Java扫描程序类未等待用户输入,java,Java,我制作了一个程序来获取用户输入并将其发送出去,但出于某种原因,scanner类和下一行甚至不等待用户获取输入,而是跳过了整个获取输入部分。这是我的密码: public class Demo{ public static void main(String[] args){ Scanner scanGenre = new Scanner("System.in"); System.out.println("Ente

我制作了一个程序来获取用户输入并将其发送出去,但出于某种原因,scanner类和下一行甚至不等待用户获取输入,而是跳过了整个获取输入部分。这是我的密码:

public class Demo{
    public static void main(String[] args){
        
        Scanner scanGenre = new Scanner("System.in");
        System.out.println("Enter genre: ");
        String genre = scanGenre.nextLine();
    }
}

基本上,程序结束时我没有键入任何输入,我找不到解决方案或解释。

删除System.in周围的双引号

双引号使您的参数表示为字符串,但您希望它表示为InputStream。

使用以下方法:

Scanner scanGenre = new Scanner(System.in);
System.out.println("Enter genre: ");
String genre = scanGenre.nextLine();

您需要删除“System.in”周围的双引号,因为否则编译器会将其假定为
字符串
,而不是
对象
InputStream
)。

仅根据问题标题快速将某个内容标记为重复,这让我很恼火!这不是一个被假定的重复回答的问题。这个答案与从
系统读取有关。在
(不是字符串)中,在
sc.nextLine
之后执行
sc.nextLine
,这是许多程序员遇到的一个经典问题。这是另外一回事。我确实认为这应该被关闭,但原因是“你有一个打字错误”,而不是它被另一个问题所回答。给那些希望“因重复而关闭”的人的建议…检查这两个问题是否真的相同…请@史蒂夫:是的,他们这样做:(重新开始投票:)