JAVA的IO流问题。

donbing 2004-12-06 09:45:05
现小弟有一问题,就是如何从控制台读取一个基本型数据。
DataInputStream教材上说是用来处理各种基本数据类型的。我用readInt()返回的整数是个经过处理的数字。
假如4字节为b1,b2,b3,b4
(b1 << 24) | (b2 << 16) + (b3 << 8) +b4
难道我们每次从控制台取一个整型数,还要自己把数据还原?
DataInputStream in = new DataInputStream(System.in);
int c = in.readInt();
我是这样写的。
小弟学JAVA时间不长,麻烦解答一下。
...全文
87 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
redex 2004-12-07
  • 打赏
  • 举报
回复
up.
playboylee 2004-12-07
  • 打赏
  • 举报
回复
类型要对正确
donbing 2004-12-07
  • 打赏
  • 举报
回复
我后来是这样的。用外覆类Integer。然扣用intValue()返回整数。。。。
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
用readLine()读取。再用StringTokenizer处理。最后把得到的String用Integer包装一下就可以了。
这样做有什么问题吗?
shangqiao 2004-12-07
  • 打赏
  • 举报
回复
是的,顶楼上的。从控制台输入的是一个字节,如输入:1234,那么这是四个字节,假如使用readInt那么读出便是这四个字节的二进制组成的值:00000001 00000010 00000101 00001000,和你想象的不一样的,只能字节读取,然后再将字符转化为int
treeroot 2004-12-07
  • 打赏
  • 举报
回复
怎么可以从控制台读整型?控制台读的都是字符
stone_lee 2004-12-07
  • 打赏
  • 举报
回复
转型是肯定的.

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧