Java方法打印其他东西

0 java printing methods println

我正在使用实例作为参数在Java上为Fraction操作编写一些方法,但由于某些原因我不知道,当我尝试从另一个类打印结果时,它打印的内容类似于"(PackageName).(ClassName)@ 1497b7b1".这只发生在"Suma","Resta","División","Multiplicación"方法中.这是代码,所以你可以更好地理解:

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

}
Run Code Online (Sandbox Code Playgroud)

这个类用于打印:

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

    }

}
Run Code Online (Sandbox Code Playgroud)

Que*_*atl 6

如果要打印对象,则需要toString()Fraction类中覆盖和定义自己- 否则您只需打印对象哈希码.

例如,以下可能是您想要的:

@Override
public String toString() {
    return "Fraction [" + Numerador + "/" + Denominador + "]";
}
Run Code Online (Sandbox Code Playgroud)