任何通过控制台输入(如我使用BufferedReader类)的数据类型是String.After我们类型转换为重新请求的数据类型(Inter.parseInt()为整数)。但在C我们可以接受任何原始数据类型的输入,而在java中,所有输入类型都是坏字符串。为什么它是这样的?java控制台输入
2
A
回答
5
控制台输入实际上是作为一系列字节读入的,而不是字符串。这是因为System.in
被API公开为InputStream
。 (!万岁的Scanner
类)JDK1.5之前,典型的包装是一样的东西:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
即InputStreamReader
字节流转换为字符流,然后BufferedReader
是用来做你readLine()
操作,管他呢。
所以这是一个String
输出,因为你从BufferedReader
获取字符流的缓冲输出。
3
在java中,你可以这样做:
Scanner scan = new Scanner(System.in);
scan.nextInt();
scan.nextDouble();
等你只需要确保下一个输入是正确的。
编辑:错过了缓冲的阅读器部分。我认为这个答案是完全不相信的。
相关问题
- 1. 从控制台输入java输入
- 2. Java控制台输出成为下一个控制台输入
- 3. Java:控制台跳过输入
- 4. 高级Java控制台输入
- 5. 通过java控制台逐行输入
- 6. C#:从控制台输出分离控制台输入
- 7. 控制台输入直到。并输入
- 8. 在控制台中输入输入
- 9. C#控制台输入
- 10. 控制台忽略输入
- 11. 输入值在控制台
- 12. QtCreator 2.4.1控制台输入
- 13. Apache-Camel控制台输入
- 14. 控制台输入掩码
- 15. 从控制台输入流
- 16. 标准控制台输入
- 17. Java从控制台输入字符串输入
- 18. java输入控制台中的输入数
- 19. 获取用户输入,而不输入Java控制台
- 20. 从Java控制台中删除输入的文本,但不清除控制台
- 21. Java控制台输出 - 文件和控制台BOTH
- 22. C#控制台 - 在输入时隐藏控制台窗口的输入
- 23. Xcode 6.1控制台输入/输出
- 24. Asm控制台输入/输出
- 25. 捕捉控制台输入输出
- 26. 基本控制台输入和输出
- 27. 如何处理Eclipse控制台输入和输出(Java)?
- 28. 使用GUI进行控制台输入和输出java
- 29. Java - windows/linux中的控制台输出
- 30. 控制台输出在java中变化
我的意思是问为什么输入是默认的字符串数据类型....为什么不other.java样式输入的优点比C我们有设施输入所有原始数据类型 – condinya 2010-05-25 04:51:55
@Bipul像webdestroya说在我之前,这只是Java的工作原理。我敢肯定,当你在命令提示符中输入值时,为了简单起见,java将它们识别为字符串而不是原语,而不是在试图扫描它之前试图弄清楚它是什么。Java离开它由用户知道输入是什么。 对不满意的答复,因为我不是很确定我刚才所说的。 – exodrifter 2010-05-25 04:58:10
我同意你说java是为了使事情变得简单而让它给用户决定。谢谢 – condinya 2010-05-25 05:06:44