我有问题添加两个应该从用户处获取的对象(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变量,该对象将由用户确定?
答案 0 :(得分:5)
这应该为你做
import java.math.BigDecimal;
import java.util.Scanner;
public class home {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
BigDecimal bg1 = scan.nextBigDecimal();
BigDecimal bg2 = scan.nextBigDecimal();
System.out.println("Result is " + bg1.add(bg2));
}
}
答案 1 :(得分:0)
BigDecimal.valueOf(<string read in from command line>)