我有这段代码,输出结果为4x^3 + 3x^2 + -5x^0 + 3x^5 + 4x^4 + 1x^3 + -4x^2 + 4x^1 + 2x^1 + -5x^0 + 3x^2 + 4x^3 + -4x^0 + 4x^3 + 5x^4 +
。
有人可以帮忙摆脱最后的+
吗?
代码如下:
public static void Iterate(PolyDS result) {
NodeClass node = result.getFirstNode();
while(node!= null) {
System.out.print(node.getCoeff() + "x" + "^" + node.getExpo() + " + ");
node = node.getNext();
}
}
答案 0 :(得分:1)
更改
System.out.print(node.getCoeff() + "x" + "^" + node.getExpo() + " + ");
node = node.getNext();
到
System.out.print(node.getCoeff() + "x" + "^" + node.getExpo());
if(node.hasNext()) System.out.print(" + ");
node = node.getNext();
理想情况下,您应该使用类似while(node.hasNext())
的东西。
答案 1 :(得分:1)
一个选择是在循环中前移node
的下一个值,并仅在下一个节点不是+
时打印连接的null
:
NodeClass node = result.getFirstNode();
while (node != null) {
String msg = node.getCoeff() + "x" + "^" + node.getExpo();
node = node.getNext();
msg += node != null ? " + " : "";
System.out.print(msg);
}