gpt4 book ai didi

java - 多项式的 toString 方法

转载 作者:行者123 更新时间:2023-11-30 07:12:39 25 4
gpt4 key购买 nike

这是一个 toString 方法,用于格式化多项式的项并将它们添加到字符串中。它的最终输出类似于“+ 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

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

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com