无法打印整个字符串

时间:2019-02-27 08:17:26

标签: java

我试图获取int,double和String(相同顺序)的标准输入,然后按order(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);
}

但是当我输入内容时(例如):

Enter an integer:
88
Enter a double: 
11.1
Enter your string:
Hello World.

我得到的输出是:

Your string is: Hello
Your double is: 11.1 
Your integer is: 88

这里我没有得到完整的字符串。我要去哪里错了? 我已经尝试过“ nextLine”,但是没有用。

1 个答案:

答案 0 :(得分:1)

问题出在这一行-String str = scan.next();.next()函数仅采用第一个字符串值,直到遇到空格或换行为止。

代替使用-String str = scan.nextLine();,它将整个字符串行取到遇到新行为止。