BigInteger Konvertierung von int auf BigInteger

Ich habe Probleme beim arbeiten mit BigIntegers. Ich habe Probleme mit der add - Methode in der Klasse Rational. In der Rational(int x, int y) Konstruktor, den ich versuche zu konvertieren, die Parameter datatype int in die Instanz-variable Datentyp BigInteger obwohl die Nutzung dertoString(int n) Methode.

  1. Mache ich die Umrechnung richtig im Rational(int x, int y) Konstruktor?
  2. Sie Weg, die add Methode geschrieben, ich bin immer ein Fehler unter alle n.und num-n.den. Ich verstehe nicht, warum ich immer diesen Fehler. Bin ich nicht richtig mit add - Methode aus BigInteger-Klasse?
    http://docs.oracle.com/javase/1.4.2/docs/api/java/math/BigInteger.html

Angenommen eine Klasse hat die folgenden

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);

und die Rational-Klasse umfasst

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;
}
InformationsquelleAutor Jessica M. | 2013-08-28
Schreibe einen Kommentar