使用扫描仪输入不按预期打印

use*_*ser 2 java string double println java.util.scanner

这是给我的一个朋友,他在学校里遇到了Java问题.

我知道一些编程,但不是Java.

Scanner kbReader = new Scanner(System.in);
System.out.print("Name of item: ");
String name = kbReader.next();
System.out.println("Original price of item: $");
double price = kbReader.nextDouble();
Run Code Online (Sandbox Code Playgroud)

输出:

Name of item: Coat
Original price of item: $

10
Run Code Online (Sandbox Code Playgroud)

为什么下一行的"物品原价:$"输入?我猜这是因为我去Stringdouble,但想不出有不同的方法呢?

rae*_*kid 12

如果你使用

System.out.println()
Run Code Online (Sandbox Code Playgroud)

如果使用,Java将在输出后放置换行符

System.out.print()
Run Code Online (Sandbox Code Playgroud)

Java不会在输出后放置换行符.