使用扫描仪获取输入不打印预期
-
18-09-2019 - |
题
这是我的一个朋友,谁是有麻烦与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
为什么是“原价项目:$”输入下一行?
我猜是因为我从String
到double
去,却没想到不同的方式做到这一点?
解决方案
如果您使用
System.out.println()
Java将放一个换行符输出后,如果您使用
System.out.print()
爪哇不会把一个新行后输出。
其他提示
您还没有发布整个代码。但是,变化
System.out.println("Original price of item: $");
到
System.out.print("Original price of item: $");
和这将是确定
这是因为的System.out.println()方法增加了一个新行字符的一切它打印出。如果你想输入的提示保持在同一直线上,是System.out.print使用()(注意这就是print()方法,而不是调用println()),它确实的不的添加一个换行符它发送到标准输出。 System.out的是一个静态java.io.PrintStream中的对象。你可以阅读的Javadoc就可以帮你在这里:的 http://java.sun.com/javase/6/docs/api/java/io/PrintStream.html
因为使用调用println代替打印。在 'LN' 添加一个新行。
不隶属于 StackOverflow