【发布时间】:2014-07-16 07:39:39
【问题描述】:
我在添加两个应该从用户那里获取的对象(BigDecimals)时遇到问题,即用户输入两个 bigdecimals,在输出程序上应该显示考虑所有小数的确切结果。
I/O 示例 输入: 3.14 3.143111 输出:6.283111
我正在尝试使用名为 BigDecimals 的对象,但我不能使用典型的扫描仪功能,因为对象 BigDecimal 必须由某个值“启动”,我想将其留空以便用户能够输入确切的浮点数。 我想使用 BigDecimal 而不是 float 类型,因为它更准确。 这里只是一个如何添加两个 BigDecimals 类型的示例,但我不知道如何输入上述对象的值。
import java.math.*;
import java.util.Scanner;
public class home {
public static void main(String[] args) {
BigDecimal bg1,bg2,bg3;
Scanner scan = new Scanner(System.in);
bg1 = new BigDecimal(3.14);
bg2 = new BigDecimal(3.143111);
MathContext mc = new MathContext(7);
bg3=bg1.add(bg2,mc);
System.out.println("Result is " + bg3);
}
}
我怎样才能通过用户确定 MathContext 的值? 在创建由用户确定的新对象 MathContext 时,我是否应该在括号()中添加一些 int 变量?
【问题讨论】:
-
为什么需要 MathContext?您可以在没有它的情况下添加两个 BigDecimal。
-
您是否尝试过使用
scan.nextBigDecimal();进行用户输入?
标签: java