0

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

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:错误:缺少返回语句}

我在 toString() 方法中不断收到该错误。我要做的就是制作一个for循环,该循环将沿着系数数组向下移动,并带有一些条件,这些条件将确定字符“x”(变量)是否会出现以及功率。

4

2 回答 2

1

你应该在你的 for 循环之后添加一个 return。

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

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

于 2013-09-22T21:52:40.340 回答
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在循环内使用您的索引
  • 让循环从0coef.length - 1
  • 添加" + "为分隔符
于 2013-09-22T21:53:54.990 回答