Java 如何在toString方法中得到多项式中的符号?

Java 如何在toString方法中得到多项式中的符号?,java,polynomial-math,Java,Polynomial Math,我想添加带有系数getA()、getB()和带有+ve或-ve符号的getC()的多项式。并删除coff为零的项,例如2x^2+5,而不是2x^2+0x+5,通常是(+/-)ax^2(+/-)bx(+/-)c 这将是一个简单得多与平原双打,这可能会给你一个想法,你可以做什么 public static String poly(double a, double b, double c) { return (a == 0 ? "" : toNum(a) + "x^2 ") +

我想添加带有系数getA()、getB()和带有+ve或-ve符号的getC()的多项式。并删除coff为零的项,例如2x^2+5,而不是2x^2+0x+5,通常是(+/-)ax^2(+/-)bx(+/-)c


这将是一个简单得多与平原双打,这可能会给你一个想法,你可以做什么

public static String poly(double a, double b, double c) {
    return (a == 0 ? "" : toNum(a) + "x^2 ") +
            (b > 0 ? "+" : "") +
            (b == 0 ? "" : toNum(b) + "x ") +
            (c > 0 ? "+" : "") +
            (c == 0 ? "" : c == 1 ? "1" : c == -1 ? "-1" : toNum(c));
}

private static String toNum(double v) {
    return v == 1 ? "" : v == -1 ? "-" : 
           v == (long) v ? Long.toString((long) v) : Double.toString(v);
}

public static void main(String... args) {
    System.out.println(poly(1, 1.5, 2.5));
    System.out.println(poly(-1, -1, -1));
    System.out.println(poly(2, 0, 0));
    System.out.println(poly(0, -3, 0));
    System.out.println(poly(0, 0, -9));
}
印刷品

x^2 +1.5x +2.5
-x^2 -x -1
2x^2 
-3x 
-9

显示MyDouble.toString()的实现,我们真的猜不出里面发生了什么…重新格式化的代码;如果不正确,请还原。compareTo的返回类型为int,并且它在compareTo行上给了我错误…表示我无法将getA()…等与零进行比较。
x^2 +1.5x +2.5
-x^2 -x -1
2x^2 
-3x 
-9