永发信息网

Java中DataInputStream的用法

答案:4  悬赏:40  手机版
解决时间 2021-07-16 09:17

我要用到DataInputStream从控制台读取一个数据(Java的基本数据类型)然后让它去做算术运算。请问怎么实现。

注:用readInt()等方法直接读取的话好像行不通我写了一段代码如下(这只是测试代码):

import java.io.*;

public class Test{

public static void main(String[] args){

DataInputStream dis=new DataInputStream(System.in);

long a=0;

try{

a=readLong();

} catch(IOException e){

e.printStackTrace();

}

System.out.println(a);

}

}

输入12时 输出的结果是 825362957

为什么输入与输出不同?

最佳答案
为什么不用Scanner呢?DataInputStream好像是输入流吧
全部回答

怎么写的?都是错的

import java.io.DataInputStream; import java.io.IOException;

public class mains {

public static void main(String[] args) { DataInputStream dis=new DataInputStream(System.in); String num1=""; String num2=""; try { System.out.println("请输入第一个数字"); num1 = dis.readLine(); System.out.println("请输入第二个数字"); num2 = dis.readLine(); System.out.println("num1+num2="+(Integer.parseInt(num1)+Integer.parseInt(num2))); System.out.println("num1*num2="+(Integer.parseInt(num1)*Integer.parseInt(num2))); System.out.println("num1/num2="+(Integer.parseInt(num1)/Integer.parseInt(num2))); System.out.println("num1-num2="+(Integer.parseInt(num1)-Integer.parseInt(num2))); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }

}

看看测试结果

DataInputStream是字节流,每次读的时候是按二进制的形式读取....既然是控制台程序。。就用Scanner。。那样输入就一样了、、
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
做大巴司机好吗
“不知江月待何人”的下一句???????
会员发个魔法表情
诺基亚N78的原装电池和N95、N96的一样否?
DNF中怎样把一把武器成功强化到12?
怎样让自己学习用功呢
和尚打着一把伞,猜一个成语。
呼和浩特电力中学财务负责人是谁?电话是
漳州市区哪里有卖男生的布制斜挎包
我问的是剑侠世界强14武器需要多少个9X,加2个
关闭qq油箱是否能防止邮箱盗号
魔域,8大17小
笔记本扬声器声音问题
QQT中当会员进入已满房间时,按什么规律挤出
向你请教5副对联
推荐资讯
听说硬屏在中国建立了生产线?
工作中遇到难以解决的问题时,作为员工应该上
提问怎么才能成功。带图片!
ck one,ck euphoria(男香)那款比较好用?
我妹妹进了传销我该怎么救她出来
QQ炫舞宠物具体什么时候出来、
怎么看youtobe的视屏?
招行卡怎么算积分?
田园商业有限责任公司7月份发生下列经济业务
NDF小弟我北京一区狂战,现在想知道功速装备
钢琴在一个房子里,想把它搬出来,怎样可以通
要怎样向一个女生表白?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?