首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java控制台输入

java控制台输入
EN

Stack Overflow用户
提问于 2010-05-25 12:45:04
回答 2查看 3.1K关注 0票数 2

在C中,我们可以接受任何原始数据类型的输入,而在java中,所有的输入类型都必然是String.why,这就是为什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-25 13:10:05

控制台输入实际上是作为一系列字节读入的,而不是字符串。这是因为API将System.in公开为InputStream。JDK1.5之前的典型包装( Scanner类万岁!)是这样的:

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

例如,InputStreamReader将字节流转换为字符流,然后使用BufferedReader执行readLine()操作或其他操作。

因此,这是一个String输出,因为您将从BufferedReader中获得字符流的缓冲输出。

票数 5
EN

Stack Overflow用户

发布于 2010-05-25 12:46:52

在java中,你可以这样做:

代码语言:javascript
复制
Scanner scan = new Scanner(System.in);
scan.nextInt();
scan.nextDouble();

等等。你只需要确保下一个输入是正确的。

编辑:缺少缓冲的读卡器部分。我认为这个答案完全无关紧要。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2902056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档