0
我想借助鏈表來表示一個多項式。這裏去我的代碼Java中的多項式表示法
import java.io.*;
import java.util.*;
public class Multiply_Poly
{
polynode head;
Multiply_Poly()
{
head=null;
}
public void construct_poly(polynode head,float coeff,int exp)
{
if(head==null)
{
polynode newnode = new polynode(coeff,exp);
head=newnode;
return;
}
else
{
polynode newnode = new polynode(coeff,exp);
polynode temp = head;
while(temp.next!=null)
temp=temp.next;
temp.next=newnode;
temp=newnode;
}
}
public void show_poly(polynode head)
{
if(head==null)
return;
else
{
while(head.next!=null)
{
System.out.print("(" + head.coeff + ")" + "x^" + "(" + head.exp + ")" + "+");
head=head.next;
}
System.out.print("(" + head.coeff + ")" + "x^" + "(" + head.exp + ")");
}
}
public static void main(String [] args)
{
Multiply_Poly m = new Multiply_Poly();
m.construct_poly(m.head,12,5);
m.construct_poly(m.head,9,4);
m.construct_poly(m.head,26,3);
m.construct_poly(m.head,18,2);
m.construct_poly(m.head,10,1);
m.construct_poly(m.head,5,0);
m.show_poly(m.head);
}
}
class polynode
{
float coeff;
int exp;
polynode next;
polynode(float coeff,int exp)
{
this.coeff=coeff;
this.exp=exp;
next=null;
}
}
我想我的construct_poly功能不工作。這就是爲什麼show_poly函數返回null。 construct_poly中的其他部分是不是正確寫入?我的錯誤是什麼?
你和'head'有一個命名衝突。從所有方法中刪除'head'參數。 – molbdnilo
同樣的事情發生時,我用任何其他參數替換頭@molbdnilo –
@SoumyaKantiNaskar想一想,當你給函數的參數賦值時會發生什麼。刪除'polynode'參數。你應該有'public void construct_poly(float coeff,int exp)'。你應該看看你最喜歡的Java書中關於類和對象的章節。 – molbdnilo