2

这是给我的一个朋友,他在学校学习 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();

输出:

Name of item: Coat
Original price of item: $

10

为什么在下一行输入“商品原价:$”?我猜这是因为我从Stringdouble,但想不出另一种方法来做到这一点?

4

4 回答 4

12

如果你使用

System.out.println()

如果您使用 Java 将在输出后放置一个换行符

System.out.print()

Java 不会在输出后添加换行符。

于 2009-09-25T22:33:08.857 回答
3

你还没有发布整个代码。但是,改变

System.out.println("Original price of item: $");

System.out.print("Original price of item: $");

会没事的。

于 2009-09-25T22:33:04.257 回答
1

It's because the System.out.println() method adds a newline character to everything it prints out. If you want the prompt for input to remain on the same line, use System.out.print() (notice that's the print() method, not println()) which does not add a newline to what it sends to standard out. System.out is a static java.io.PrintStream object. You can read the Javadocs on it to help you out here : http://java.sun.com/javase/6/docs/api/java/io/PrintStream.html

于 2009-09-25T22:36:41.800 回答
1

Because you used println instead of print. The 'ln' adds a new line.

于 2009-09-25T22:36:54.200 回答