hello everyone,
I am doing a program for a class which is suppose to say the amount of pages one needs to read and then say if any of the homeworks have the same amount of pages. My teacher wants me to override the compareTo() method and then test it in the tester class. I am pretty sure I did it correctly for everything except testing it. I have been trying to test it but I keep getting the error " non-static method compareTo(Homework3) cannot be referenced from a static context".
Any Help?
Here is the code:
/**
* Write a description of class Homework3 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public abstract class Homework3 implements Comparable<Homework3>
{
int pagesRead;
String typeHomework;
public Homework3()
{
pagesRead =0;
typeHomework= "";
}
public abstract void createAssignment(int p);
public abstract int returnPages();
public abstract int compareTo(Homework3 a);
}
/**
* Write a description of class MyMath2 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class MyMath3 extends Homework3
{
int pages;
public MyMath3()
{
super();
}
public void createAssignment(int p)
{
typeHomework = "Math";
pages = p;
}
public String toString()
{
return typeHomework + " - must read " + pages + " pages";
}
public int returnPages()
{
return pages;
}
public int compareTo(Homework3 a)
{
if(pages==a.returnPages())
{
return 0;
}
else
return 1;
}
}
/**
* Write a description of class MyScience2 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class MyScience3 extends Homework3
{
int pages;
public MyScience3()
{
super();
}
public void createAssignment(int p)
{
typeHomework = "Science";
pages = p;
}
public String toString()
{
return typeHomework + " - must read " + pages + " pages";
}
public int returnPages()
{
return pages;
}
public int compareTo(Homework3 a)
{
if(pages==a.returnPages())
{
return 0;
}
else
return 1;
}
}
/**
* Write a description of class MyEnglish2 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class MyEnglish3 extends Homework3
{
int pages;
public MyEnglish3()
{
super();
}
public void createAssignment(int p)
{
typeHomework = "English";
pages = p;
}
public String toString()
{
return typeHomework + " - must read " + pages + " pages";
}
public int returnPages()
{
return pages;
}
public int compareTo(Homework3 a)
{
if(pages==a.returnPages())
{
return 0;
}
else
return 1;
}
}
/**
* Write a description of class MyJava2 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class MyJava3 extends Homework3
{
int pages;
public MyJava3()
{
super();
}
public void createAssignment(int p)
{
typeHomework = "Java";
pages = p;
}
public String toString()
{
return typeHomework + " - must read " + pages + " pages";
}
public int returnPages()
{
return pages;
}
public int compareTo(Homework3 a)
{
if(pages==a.returnPages())
{
return 0;
}
else
return 1;
}
}
/**
* Write a description of class TestHomework2 here.
*
* @author (your name)
* @version (a version number or a date)
*/
import java.util.*;
public class TestHomework3 {
public static void main(String[] args) {
List<Homework3> al = new ArrayList<Homework3>();
MyMath3 math = new MyMath3();
MyEnglish3 english = new MyEnglish3();
MyJava3 java = new MyJava3();
MyScience3 science = new MyScience3();
al.add(math);
al.add(science);
al.add(english);
al.add(java);
int p = 6;
for (Homework3 inner : al)
{
inner.createAssignment(p);
System.out.println(inner);
p++;
}
for(int i = 0 ; i <al.size(); i++)
{
Homework3.compareTo(al.get(i));
}
}
}