我正在使用String Tokenizer和Linked List,而且这个任务需要用到Linked List。有一个外部文件,里面有许多多项式(每行一个)。使用String Tokenizer和Linked List,我运行一个while循环,在每次循环中捕获两行并将它们添加到Linked List。在数字已经加载到Linked List之后,目标是从它们的Linked List中将这些多项式相加,并创建一个包含该多项式的新Linked List。
例如,文件中的前两行是这样的:
2x^4 -5x^3 +9x^2 -10
3x^4 -6x^3 +10x^2 -11
=
5x^4 -11x^3 +19x^2 -21
这是我的代码:
例如,文件中的前两行是这样的:
2x^4 -5x^3 +9x^2 -10
3x^4 -6x^3 +10x^2 -11
=
5x^4 -11x^3 +19x^2 -21
这是我的代码:
public class PolynomialAddition
{
static File dataInpt;
static Scanner inFile;
public static void main(String[] args) throws IOException
{
dataInpt=new File("C:\\llpoly.txt");
inFile=new Scanner(dataInpt);
StringTokenizer myTokens;
String line,polyTerm;
Node firstL=new Node();
Node secondL=new Node();
line=inFile.nextLine();
myTokens=new StringTokenizer(line);
polyTerm=myTokens.nextToken();
firstL.value=polyTerm.substring(0,polyTerm.indexOf("x"));
firstL.value2=polyTerm.substring(polyTerm.indexOf("^")+1);
}
}
这是我的节点类:
public class Node
{
public Object value;
public Object value2;
public Node next;
public Node()
{
value=null;
value2=null;
next=null;
}
public Node (Object value, Object value2, Node next)
{
this.value=value;
this.value2=value2;
this.next=next;
}
}
问题出在这里,有些行不完整,而它们需要添加到的那一行是完整的,比如-12x^8 +5x^2 -3和8x^3 +2x。
答案应该是-12x^8 +8x^3 +5x^2 +2x -3。
我该怎么解决这个问题呢?