Java 无法打印整个字符串

Java 无法打印整个字符串,java,Java,我试图获得int、double和String(相同顺序)的标准输入,然后按顺序打印输入(String、double和int)。代码如下: public static void main (String[] args){ Scanner scan = new Scanner(System.in); System.out.println("Enter an integer: "); int intNum = scan.nextInt(); System.out.

我试图获得int、double和String(相同顺序)的标准输入,然后按顺序打印输入(String、double和int)。代码如下:

public static void main (String[] args){

    Scanner scan = new Scanner(System.in);

    System.out.println("Enter an integer: ");
    int intNum = scan.nextInt();

    System.out.println("Enter a double: ");
    double doubleNum = scan.nextDouble();

    System.out.println("Enter your string: "); 
    String str=scan.next();

    scan.close();
    System.out.println("Your string is: "+ str);          
    System.out.println("Your double is: "+ doubleNum);
    System.out.println("Your integer is: "+ intNum);
}
但当我提供输入时(例如):

我得到的结果是:

Your string is: Hello
Your double is: 11.1 
Your integer is: 88
这里我没有得到完整的字符串。我哪里做错了?
我尝试了“nextLine”,但没有成功。

问题出在这一行-
String str=scan.next(),,
.next()
函数只接受第一个字符串值,直到遇到空格或新行为止


而是使用-
String str=scan.nextLine()
会占用整行字符串直到遇到新行。

实际上,您无法读取
字符串。使用而不是查看扫描仪javadoc-
nextLine()
确实有效,但在读取double后需要添加额外的
nextLine
调用,以便它吃掉该double后面的换行符@AxelH当我尝试使用scan.nextLine()时,它不会直接接受输入,而是给我空字符串的输出。@TiiJ7您是对的,它成功了。谢谢你的帮助。
Your string is: Hello
Your double is: 11.1 
Your integer is: 88