Mike
Mike

Reputation: 21

Getting Errors with code

I am getting errors on "public Polynomial multiply(Polynomial p)" and "public Polynomial add(Polynomial p)". I don't know why this is. I don't see anything wrong with it. Here is the code, and I will put the errors at the bottom.

 import java.util.*;
    class Term
    {
        private int coe;
        private int pow;
        public int getCoe()
        {return coe;}
        public int getPow()
        {return pow;}
        public void setCoe(int coe)
        {this.coe=coe;}
        public void setPow(int pow)
        {this.pow=pow;}
        public Term(int coe, int pow)
        {
            this.coe=coe;
            this.pow=pow;
        }
        public String toString()
        {
            return "(" +coe+ "," +pow+ ")";
        }
    }
    class Polynomial
    {
        private LinkedList poly;
        public Polynomial()
        {
            poly = new LinkedList();
        }
        public void addTerm(int coe, int pow)
        {
            Term t = new term(coe,pow);
            poly.addLast(t);
        }
        public void print()
        {
            ListIterator iter = poly.listIterator();
            while(iter.hasNext())
            {
                term temp = (Term) iter.next();
                System.out.print(temp);
            }
            System.out.println();
        }
        public void insert(int coe, int pow)
        {
            Term temp = new Term(coe,pow);
            ListIterator iter = poly.listIterator();

            while(iter.hasNext())
            {
                Term t = (Term)iter.next();
                if(t.getPow() == temp.getPow())
                {
                    t.setCoe(t.getCoe()+temp.getCoe());
                    return;
                }
                else if(t.getPow() < temp.getPow())
                {
                    iter.previous();
                    iter.add(temp);
                    return;
                }
                iter.add(temp);
            }
            public Polynomial add(Polynomial p)
            {
                Polynomial a = new Polynomial();
                ListIterator iter = poly.listIterator();
                ListIterator pIter = p.poly.listIterator();

                while(iter.hasNext())
                {
                    Term t =(Term)pIter.next();
                    a.insert(t.getCoe(),t.getPow());
                }
                return a;
            }
            public Polynomial multiply(Polynomial p)
            {
                Polynomial m = new Polynomial();
                ListIterator iter = poly.listIterator();

                while (iter.hasNext())
                {
                    Term t = (Term)iter.next();
                    ListIterator pIter = (p.poly).listIterator();
                    while (pIter.hasNext())
                    {
                        Term temp = (Term)pIter.next();
                        m.insert(t.getCoe() * temp.getCoe(), t.getPow() + temp.getPow());
                    }
                }
                return m;
            }
        }
        public class PolynomialTest
        {
            public static void main (String [] args)
            {
                Polynomial p = new Polynomial();
                p.addTerm(-10,0);
                p.addTerm(-1,1);
                p.addTerm(9,7);
                p.addTerm(5,10);

                Polynomial p2;
                p2 = p.multiply(p);
                p2.print();
            }
        }

These are the errors that I am getting.

PolynomialTest.java:67: error: illegal start of expression
        public Polynomial add(Polynomial p)
        ^
PolynomialTest.java:67: error: ';' expected
        public Polynomial add(Polynomial p)
                             ^
PolynomialTest.java:67: error: ';' expected
        public Polynomial add(Polynomial p)
                                          ^
PolynomialTest.java:80: error: illegal start of expression
        public Polynomial multiply(Polynomial p)
        ^
PolynomialTest.java:80: error: ';' expected
        public Polynomial multiply(Polynomial p)
                                  ^
PolynomialTest.java:80: error: ';' expected
        public Polynomial multiply(Polynomial p)
                                               ^
PolynomialTest.java:112: error: reached end of file while parsing
    }
     ^
7 errors

I would appreciate knowing what I did wrong and how I can fix it, Thanks.

Upvotes: 0

Views: 87

Answers (2)

Yousaf
Yousaf

Reputation: 29344

you are missing couple parenthesis, that's all. You have declared add and multiply functions inside insert function.

Here's your code fixed.

 import java.util.*;
    class Term
    {
        private int coe;
        private int pow;
        public int getCoe()
        {return coe;}
        public int getPow()
        {return pow;}
        public void setCoe(int coe)
        {this.coe=coe;}
        public void setPow(int pow)
        {this.pow=pow;}
        public Term(int coe, int pow)
        {
            this.coe=coe;
            this.pow=pow;
        }
        @Override
        public String toString()
        {
            return "(" +coe+ "," +pow+ ")";
        }
    }
    class Polynomial
    {
        private LinkedList poly;
        public Polynomial()
        {
            poly = new LinkedList();
        }
        public void addTerm(int coe, int pow)
        {
            Term t = new Term(coe,pow);
            poly.addLast(t);
        }
        public void print()
        {
            ListIterator iter = poly.listIterator();
            while(iter.hasNext())
            {
                Term temp = (Term) iter.next();
                System.out.print(temp);
            }
            System.out.println();
        }
        public void insert(int coe, int pow)
        {
            Term temp = new Term(coe,pow);
            ListIterator iter = poly.listIterator();

            while(iter.hasNext())
            {
                Term t = (Term)iter.next();
                if(t.getPow() == temp.getPow())
                {
                    t.setCoe(t.getCoe()+temp.getCoe());
                    return;
                }
                else if(t.getPow() < temp.getPow())
                {
                    iter.previous();
                    iter.add(temp);
                    return;
                }
                iter.add(temp);
            }
        }
            public Polynomial add(Polynomial p)
            {
                Polynomial a = new Polynomial();
                ListIterator iter = poly.listIterator();
                ListIterator pIter = p.poly.listIterator();

                while(iter.hasNext())
                {
                    Term t =(Term)pIter.next();
                    a.insert(t.getCoe(),t.getPow());
                }
                return a;
            }
            public Polynomial multiply(Polynomial p)
            {
                Polynomial m = new Polynomial();
                ListIterator iter = poly.listIterator();

                while (iter.hasNext())
                {
                    Term t = (Term)iter.next();
                    ListIterator pIter = (p.poly).listIterator();
                    while (pIter.hasNext())
                    {
                        Term temp = (Term)pIter.next();
                        m.insert(t.getCoe() * temp.getCoe(), t.getPow() + temp.getPow());
                    }
                }
                return m;
            }
        }

        public class PolynomialTest
        {
            public static void main (String [] args)
            {
                Polynomial p = new Polynomial();
                p.addTerm(-10,0);
                p.addTerm(-1,1);
                p.addTerm(9,7);
                p.addTerm(5,10);

                Polynomial p2;
                p2 = p.multiply(p);
                p2.print();
            }
        }

Upvotes: 0

Eric
Eric

Reputation: 601

Watch out for your braces. You want it to look more like this:

public insert {
  // do stuff
} // <- end of insert method

public add {
  // do add stuff
}

public multiply {
  // do multiply stuff
}

Upvotes: 1

Related Questions