我试图获取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”,但是没有用。
答案 0 :(得分:1)
问题出在这一行-String str = scan.next();
,
.next()
函数仅采用第一个字符串值,直到遇到空格或换行为止。
代替使用-String str = scan.nextLine();
,它将整个字符串行取到遇到新行为止。