Java nextLine()在next()方法之后不起作用

Java nextLine()在next()方法之后不起作用,java,next,Java,Next,第一次执行后,该程序的输出为: 输入字符 当我在输出中输入字符c后,如下所示: 输入字符 c 输入一个字符串 c 这个程序的问题是我不允许输入字符串,这个字符串应该在下一行的帮助下输入 程序会自动获取字符串的值“”,并打印空字符串 为什么?在next()之后添加一个nextLine(),以使用包含通过调用next()获得的令牌的行尾。否则,在调用String s=input.nextLine()时,将使用该行的末尾,将s保留为空 package new_package; import java

第一次执行后,该程序的输出为:

输入字符

当我在输出中输入字符c后,如下所示:

输入字符

c

输入一个字符串

c

这个程序的问题是我不允许输入字符串,这个字符串应该在下一行的帮助下输入

程序会自动获取字符串的值“”,并打印空字符串

为什么?

next()
之后添加一个
nextLine()
,以使用包含通过调用
next()
获得的令牌的行尾。否则,在调用
String s=input.nextLine()时,将使用该行的末尾
,将
s
保留为空

package new_package;

import java.util.Scanner;

public class Test {

public static void main ( String args[])

{
Scanner input = new Scanner(System.in);

System.out.println("Enter a character");

char c = input.next().charAt(0);

System.out.println ( "Enter a string");

String s = input.nextLine();

System.out.println (c);
System.out.println (s); 

}

}
可能重复的
char c = input.next().charAt(0);
input.nextLine(); // add this
System.out.println ( "Enter a string");

String s = input.nextLine();