Java 建立多项式的结构
我试图通过简单地列出系数,并用一个具有其相应幂的变量来显示它们,来评估多项式的结构。我不是在评估,我只是想把方程弄出来Java 建立多项式的结构,java,arrays,Java,Arrays,我试图通过简单地列出系数,并用一个具有其相应幂的变量来显示它们,来评估多项式的结构。我不是在评估,我只是想把方程弄出来 public class TestPolynomialBackup{ public static void main(String[] args){ Polynomial p1 = new Polynomial(4); System.out.println(p1); } public static class
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{
公共静态void main(字符串[]args){
多项式p1=新的多项式(4);
系统输出打印LN(p1);
}
公共静态类多项式
{
私有int[]coef;
私有整数功率=3;
公共多项式(INTA){
coef=newint[]{4,3,2,1};
}
公共字符串toString(){
对于(int i=0;i您应该在for循环之后添加一个返回
编译器无法编译,因为如果未执行循环,则方法将不返回任何内容
但是您应该检查循环的工作方式,因为循环中有一个返回,所以它只执行一次。您可能想更熟悉Java,并思考一下您希望该方法做什么:
public String toString() {
for (int i = 0; i < coef.length - 1; i++) {
String s = coef[2] + "x^" + power;
return s;
}
}
公共字符串toString(){
对于(int i=0;i
这很可能就是你想要的:
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();
}
公共字符串toString(){
StringBuilder s=新的StringBuilder();
对于(int i=0;i
变化:
- 将
return
置于循环外部
- 累积结果,而不是总是以某种方式创建新字符串
- 实际上,在循环内部使用索引
i
- 让循环从
0
转到coef.length-1
- 添加了
“+”
作为分隔符
你的toString()毫无意义,这就是它无法编译的原因。你也需要在循环之外返回,但即使你这样做了,它也不会做什么有用的事情。实际上,你需要使用StringBuilder
而不是一直创建新字符串。实际上,只是想先强调正确的语义;)特别是,这看起来一点都不重要-编辑…谢谢olydis。我离开java已经好几个月了,大部分都忘了。这种做法严格适用于学校。我还在循环中添加了一些条件,这些条件将决定字符串的打印方式。