建立多项式的结构

时间:2013-09-22 21:48:51

标签: java arrays

我试图通过简单地列出系数并用一个具有其所需功率的变量显示它们来评估多项式的​​结构。我不是在评估,我只是想弄清楚那个方程式。

public class TestPolynomialBackup{
    public static void main(String[] args){


        Polynomial p1 = new Polynomial(4);

        System.out.println(p1);

    }



    public static class Polynomial
    {
        private int[] coef;
        private int power=3;

        public Polynomial(int a ){
            coef = new int []{4,3,2,1};
        }



        public String toString() {

           for(int i=0;i<coef.length-1;i++){
               String s = coef[2] + "x^" + power;
                return s;
           }

        }



     }
}

输出:TestPolynomialBackup.java:38:错误:缺少return语句          }

我一直在toString()方法中得到错误。我所要做的就是制作一个for循环,它将沿着系数阵列向下,其中一些条件将决定字符“x”(变量)是否与力量一样。

2 个答案:

答案 0 :(得分:1)

你应该在for循环后添加一个返回。

编译器无法编译,因为如果你的循环没有执行,你的方法就不会返回任何内容。

但你应该检查循环的工作方式,因为你有一个返回,它只执行一次。

答案 1 :(得分:1)

您可能希望更熟悉Java,并考虑一下想要这种方法:

public String toString() {
    for (int i = 0; i < coef.length - 1; i++) {
        String s = coef[2] + "x^" + power;
        return s;
    }
}

这可能是你想要的:

public String toString() {
    StringBuilder s = new StringBuilder();
    for (int i = 0; i < coef.length; i++) {
        if (i != 0)
            s.append(" + ");
        s.append(coef[i]);
        s.append("x^");
        s.append(i);
    }
    return s.toString();
}

的变化:

  • return置于循环之外
  • 累积结果,而不是总是创建新字符串
  • 实际上在循环内部使用索引i
  • 让循环从0转到coef.length - 1
  • 添加" + "作为分隔符