A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

public class Test {
public static void main(String[] args) throws IOException {
  // TODO Auto-generated method stub
  DataInputStream dis = new DataInputStream(System.in);
  double a = dis.readDouble();
  double b = dis.readDouble();
  System.out.println(a+b);
  dis.close();
}
}

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

1 个回复

正序浏览
通过查阅API文档,发现这个方法是:从包含的输入流中读取此操作需要的字节;返回的结果为:此输入流的下八个字节,将它们解释为一个 double。
当你输入内容的时候,这个方法readDouble()会读取下八个字节数,根据字节数算,结果肯定会的得到不是你想要的。

不知道你想要个什么结果,如果只是实现输入两个double数,最后得到它们的和值。那么你最好别用这种数据输入流,建议你改成Scanner。
下面有段代码,可以参考一下:
package com.itheima;

import java.io.IOException;
import java.util.Scanner;

/**
* @author XuCheng
*
*/
public class Test{
        public static void main(String[] args) throws IOException{
                Scanner dis = new Scanner(System.in);
                double a = dis.nextDouble();
                double b = dis.nextDouble();
                System.out.println("a + b = " + (a+b));
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马