这是一个toString方法,用于格式化多项式的项并将其添加到String中。它的最终输出是“ + 2x ^ 2 + 2x +1”之类的东西。如何删除第一个加号?谢谢

//toString method for returning ReesePolynomials in polynomaial format(for ReeseClient)
       public String toString()
       {
          String output = "";
          //the following are situations for formatting the output of each term and adding them to String output
          for (int i = 0; i < TermLength; i++)  // For the number of terms stated by the user earlier, values will be given for each ReeseTerm in the poly array
             {
                if (poly[i].getExpo() == 0 && poly[i].getCoeff() > 0)
                {
                   output += " + " + poly[i].getCoeff();
                }

                else if (poly[i].getExpo() == 0 && poly[i].getCoeff() < 0)
                {
                   output += " " + poly[i].getCoeff();
                }

                else if (poly[i].getCoeff() == 1 && (poly[i].getExpo() != 0 && poly[i].getExpo() != 1))
                {
                   output += " + x^" + poly[i].getExpo();
                }

                else if (poly[i].getCoeff() == 1 && (poly[i].getExpo() == 1))
                {
                   output += " + x";
                }

                else if (poly[i].getExpo() == 1 && poly[i].getCoeff() > 0)
                {
                   output += " + " + poly[i].getCoeff() + "x";
                }

                else if (poly[i].getExpo() == 1 && poly[i].getCoeff() < 0)
                {
                   output += " " + poly[i].getCoeff() + "x";
                }

                else if (poly[i].getCoeff() < 0 && (poly[i].getExpo() > 1 || poly[i].getExpo() < -1))
                {
                   output += " " + poly[i].getCoeff() + "x^" + poly[i].getExpo();
                }

                else if (poly[i].getCoeff() == 0)
                {}

                else
                {
                   output += " + " + poly[i].getCoeff() + "x^" + poly[i].getExpo();
                }

             }

       return output;       // the final string output is returned to be printed when called upon in main
       }

最佳答案

在return语句之前,使用substring方法:

output = output.substring(2);


这将为您提供从索引2到结尾的所有字符。
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html

您面临的问题通常称为击剑岗问题,或一站式错误。
http://en.wikipedia.org/wiki/Off-by-one_error

关于java - 多项式的toString方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20227265/

10-10 03:37