class Point {
BigDecimal x;
BigDecimal y;
Point(double px, double py) {
x = new BigDecimal(px);
y = new BigDecimal(py);
}
void addFiveToCoordinate(String what) {
if (what.equals("x")) {
BigDecimal z = new BigDecimal(5);
x.add(z);
}
}
void show() {
System.out.print("\nx: " + getX() + "\ny: " + getY());
}
public BigDecimal getX() {
return x;
}
public BigDecimal getY() {
return y;
}
public static void main(String[] args) {
Point p = new Point(1.0, 1.0);
p.addFiveToCoordinate("x");
p.show();
}
}
好的,我想添加 2 个 BigDecimal 值。我将构造函数与双打一起使用(因为我认为这是可能的 - 文档中有一个选项)。如果我在主类中使用它,我会得到:
x: 1
y: 1
当我使用 System.out.print 显示我的 z 变量时,我得到以下信息:
z: 5
BigDecimal 是不可变的。每个操作都会返回一个包含操作结果的新实例:
BigDecimal sum = x.add(y);
如果你想让 x 改变,你必须这样做
x = x.add(y);
Reading javadoc http://docs.oracle.com/javase/6/docs/api/java/math/BigDecimal.html确实有助于理解类及其方法的工作原理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)