我正在Java上使用實例作爲參數來寫分數操作的一些方法,但出於某種原因,我沒有得到,當我嘗試打印來自另一個類的結果時,它會打印類似「(PackageName) (類名)@ 1497b7b1" 。 這隻發生在「Suma」,「Resta」,「División」,「Multiplicación」方法中。 這裏的代碼,這樣就可以更好地理解:Java方法打印其他東西
package fracciones;
public class Fraction {
private int Numerador;
private int Denominador;
public Fraction() {
Numerador = 0;
Denominador = 1;
}
public Fraction(int Num, int Den) {
Numerador = Num;
Denominador = Den;
}
public int getNumerador() {
return Numerador;
}
public int getDenominador() {
return Denominador;
}
public Fraction Suma(Fraction Suma) {
int Num = Suma.getNumerador();
int Den = Suma.getDenominador();
Fraction c = new Fraction();
c.Numerador = Numerador * Den + Denominador * Num;
c.Denominador = Denominador * Den;
return c;
}
public Fraction Resta(Fraction Resta) {
int Num = Resta.getNumerador();
int Den = Resta.getDenominador();
Fraction c = new Fraction();
c.Numerador = Numerador * Den - Num * Denominador;
c.Denominador = Denominador * Den;
return c;
}
public Fraction Multiplicación(Fraction Multiplicación) {
int Num = Multiplicación.getNumerador();
int Den = Multiplicación.getDenominador();
Fraction c = new Fraction();
c.Numerador = Numerador * Num;
c.Denominador = Denominador * Den;
return c;
}
public Fraction División(Fraction División) {
int Num = División.getNumerador();
int Den = División.getDenominador();
Fraction c = new Fraction();
c.Numerador = Numerador * Den;
c.Denominador = Denominador * Num;
return c;
}
public String ImpresiónFraction() {
String Text = Numerador + "/" + Denominador;
return Text;
}
public Float ImpresiónFloat() {
Float Float = new Float(Numerador);
Float Numero = Float.floatValue()/Denominador;
return Numero;
}
}
這個類印刷:
package fracciones;
public class FraccionCalc {
public static void main(String[] args) {
Fraction Una = new Fraction(1, 2);
Fraction Dos = new Fraction(8, 16);
System.out.println(Una.Resta(Dos));
System.out.println(Una.ImpresiónFloat());
}
}
我認爲這是因爲你打印的是對象而不是對象的值。嘗試打印object.Numerator和分母。 – karmanaut 2013-04-04 09:19:04
這就是你看到的對象哈希碼。 – 2013-04-04 09:19:36