我在使用 BigIntegers 时遇到问题。我add
在使用 Rational 类中的方法时遇到问题。在Rational(int x, int y)
构造函数中,我试图通过使用该方法将参数数据类型int
转换为实例变量数据类型。BigInteger
toString(int n)
- 我在
Rational(int x, int y)
构造函数中正确地进行了转换吗? - 他们
add
编写方法的方式我在所有 n.num 和 n.den 下都出现错误。我不明白为什么我会收到这个错误。我没有正确使用add
BigInteger 类中的方法吗? http://docs.oracle.com/javase/1.4.2/docs/api/java/math/BigInteger.html
假设一个类具有以下内容
Rational a = new Rational(1,2);
Rational b = new Rational(1,3);
Rational c = new Rational(1,6);
Rational sum = a.add(b).add(c);
println(sum);
Rational 类包括
import acm.program.*;
import java.math.*;
public class Rational{
public Rational(int x, int y) {
num = new BigInteger(toString(x));
den = new BigInteger(toString(y));
}
public toString(int n) {
return toString(n);
}
public BigInteger add(BigInteger n) {
return new BigInteger(this.num * n.den + n.num * this.den, this.den * n.den)
}
/* private instance variables */
private BigInteger num;
private BigInteger den;
}