import java.io.*;
import java.util.*;
public class PolynomialAddition
{
static Scanner inFile;
{
dataInpt
=new File("C:\\llpoly.txt"); inFile=new Scanner(dataInpt);
Node parent = new Node();
while (inFile.hasNextLine())
{
Node tempParent = parent;
line=inFile.nextLine();
while (myTokens.hasMoreTokens())
{
Node current = new Node();
String polyTerm
=myTokens.
nextToken();
current.value=polyTerm.substring(0,polyTerm.indexOf("x"));
current.value2=polyTerm.substring(polyTerm.indexOf("^")+1);
if(parent==null)
parent.value=current.value;
else
{
parent.next=current;
parent=current;
}
}
printList(tempParent.next);
}
Node tempParent2 = parent;
line=inFile.nextLine();
while (myTokens.hasMoreTokens())
{
Node current = new Node();
String polyTerm
=myTokens.
nextToken();
current.value=polyTerm.substring(0,polyTerm.indexOf("x"));
current.value2=polyTerm.substring(polyTerm.indexOf("^")+1);
if(parent==null)
parent.value=current.value;
else
{
parent.next=current;
parent=current;
}
}
printList(tempParent2.next);
System.
out.
println("Really crude, next two lines\n\n"); }
public static void printList(Node head)
{
Node ptr; //not pointing anywhere
for(ptr=head;ptr!=null;ptr=ptr.next)
System.
out.
print(ptr.
value + " " + ptr.
value2 + " "); }
}
aW1wb3J0IGphdmEuaW8uKjsKaW1wb3J0IGphdmEudXRpbC4qOwpwdWJsaWMgY2xhc3MgUG9seW5vbWlhbEFkZGl0aW9uCnsKICAgIHN0YXRpYyBGaWxlIGRhdGFJbnB0OwogICAgc3RhdGljIFNjYW5uZXIgaW5GaWxlOwoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBJT0V4Y2VwdGlvbgogICAgewogICAgICBkYXRhSW5wdD1uZXcgRmlsZSgiQzpcXGxscG9seS50eHQiKTsKICAgICAgaW5GaWxlPW5ldyBTY2FubmVyKGRhdGFJbnB0KTsKICAgICAgU3RyaW5nVG9rZW5pemVyIG15VG9rZW5zOwogICAgICBTdHJpbmcgbGluZSwgc2VudGVuY2U7CiAgICAgIE5vZGUgcGFyZW50ID0gbmV3IE5vZGUoKTsKICAgICAgd2hpbGUgKGluRmlsZS5oYXNOZXh0TGluZSgpKQogICAgICB7CiAgICAgICAgTm9kZSB0ZW1wUGFyZW50ID0gcGFyZW50OwogICAgICAgIGxpbmU9aW5GaWxlLm5leHRMaW5lKCk7CiAgICAgICAgbXlUb2tlbnM9bmV3IFN0cmluZ1Rva2VuaXplcihsaW5lKTsKICAgICAgICB3aGlsZSAobXlUb2tlbnMuaGFzTW9yZVRva2VucygpKQogICAgICAgIHsKICAgICAgICAgIE5vZGUgY3VycmVudCA9IG5ldyBOb2RlKCk7CiAgICAgICAgICBTdHJpbmcgcG9seVRlcm09bXlUb2tlbnMubmV4dFRva2VuKCk7CgogICAgICAgICAgY3VycmVudC52YWx1ZT1wb2x5VGVybS5zdWJzdHJpbmcoMCxwb2x5VGVybS5pbmRleE9mKCJ4IikpOwogICAgICAgICAgY3VycmVudC52YWx1ZTI9cG9seVRlcm0uc3Vic3RyaW5nKHBvbHlUZXJtLmluZGV4T2YoIl4iKSsxKTsKCiAgICAgICAgICBpZihwYXJlbnQ9PW51bGwpCiAgICAgICAgICAgIHBhcmVudC52YWx1ZT1jdXJyZW50LnZhbHVlOwogICAgICAgICAgZWxzZQogICAgICAgICAgewogICAgICAgICAgICBwYXJlbnQubmV4dD1jdXJyZW50OwogICAgICAgICAgICBwYXJlbnQ9Y3VycmVudDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcHJpbnRMaXN0KHRlbXBQYXJlbnQubmV4dCk7CiAgICAgIH0KCiAgICAgIE5vZGUgdGVtcFBhcmVudDIgPSBwYXJlbnQ7CiAgICAgIGxpbmU9aW5GaWxlLm5leHRMaW5lKCk7CiAgICAgIG15VG9rZW5zPW5ldyBTdHJpbmdUb2tlbml6ZXIobGluZSk7CiAgICAgIHdoaWxlIChteVRva2Vucy5oYXNNb3JlVG9rZW5zKCkpCiAgICAgIHsKICAgICAgICBOb2RlIGN1cnJlbnQgPSBuZXcgTm9kZSgpOwogICAgICAgIFN0cmluZyBwb2x5VGVybT1teVRva2Vucy5uZXh0VG9rZW4oKTsKCiAgICAgICAgY3VycmVudC52YWx1ZT1wb2x5VGVybS5zdWJzdHJpbmcoMCxwb2x5VGVybS5pbmRleE9mKCJ4IikpOwogICAgICAgIGN1cnJlbnQudmFsdWUyPXBvbHlUZXJtLnN1YnN0cmluZyhwb2x5VGVybS5pbmRleE9mKCJeIikrMSk7CgogICAgICAgIGlmKHBhcmVudD09bnVsbCkKICAgICAgICAgIHBhcmVudC52YWx1ZT1jdXJyZW50LnZhbHVlOwogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICBwYXJlbnQubmV4dD1jdXJyZW50OwogICAgICAgICAgcGFyZW50PWN1cnJlbnQ7CiAgICAgICAgfQogICAgICB9CiAgICAgIHByaW50TGlzdCh0ZW1wUGFyZW50Mi5uZXh0KTsKICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJSZWFsbHkgY3J1ZGUsIG5leHQgdHdvIGxpbmVzXG5cbiIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyB2b2lkIHByaW50TGlzdChOb2RlIGhlYWQpCiAgICB7CiAgICAJTm9kZSBwdHI7IC8vbm90IHBvaW50aW5nIGFueXdoZXJlCiAgICAJZm9yKHB0cj1oZWFkO3B0ciE9bnVsbDtwdHI9cHRyLm5leHQpCiAgICAJICBTeXN0ZW0ub3V0LnByaW50KHB0ci52YWx1ZSArICIgICIgKyBwdHIudmFsdWUyICsgIiAgIik7CiAgICAJU3lzdGVtLm91dC5wcmludGxuKCk7CiAgICB9Cn0=