Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium


a simple program

Posted on 2005-03-12
Medium Priority
Last Modified: 2010-03-31
Access modifier          Description of some methods in the above diagram
#  => protected          + walk()     => takes in no argument, returns no value
+  => public               + getName() : String  => takes in no arguments, returns a
-  => private                                   String value

                    + setName( name:String)  => takes in one String
     argument, returns no value

Question 1 [ 40 marks ]

Based on the above diagram,

a)     Create the Animal class, which is the abstract superclass of all animals.
[ 2 marks ]
i.     Declare a protected integer attribute called legs, which records the number of legs for this animal.                    [ 2 marks ]
ii.     Define a protected constructor that initializes the legs attribute
[ 2 marks ]
iii.     Declare an abstract method eat.                    [ 2 marks ]
iv.     Declare a concrete method walk that displays how the animal walks, including the number of legs.                    [ 3 marks ]

b)     Create the Cat class that inherits from the Animal class.          [ 2 marks ]

i.     This class has a String attribute to store the name of the pet.
[ 2 marks ]
ii.     Define a constructor that takes a String parameter that specifies the cat’s name. This constructor must also call the superclass constructor to specify that all cats have four legs.               [ 4 marks ]
iii.     Overload the constructor so that this constructor takes no argument, and it calls the constructor in part d(ii) and pass an empty string as the argument.                                   [ 3 marks ]

c)     Create the Fish class as specified by the UML diagram above. Override the Animal methods to specify that fish cannot walk and do not have legs.
     [ 18 marks ]

Question 2 [ 60 marks ]

Write a program called MyPet that create the Cat and Fish objects and store the objects in a reference-based linked list data structure. You may create a GUI or non-GUI program. Either program will entitle you to a maximum of 15 marks.     [ 15 marks ]

This program allows you to  

a)     create a list of Cat objects, sorted based on its name. Each cat has a unique name.                                                  [ 10 marks ]
b)     create a list of Fish objects, sorted based on its name. Each fish has a unique name too.                                             [ 5 marks ]
c)     display the details of each cat and fish, including what it can do.     [ 10 marks ]
d)     change the name of your pets                              [ 10 marks ]

Additional features such as include the status of the fish, delete a dead cat or dead fish, or other functions.                                        [ 10 marks ]
Question by:elroytiow
LVL 31

Expert Comment

ID: 13527585
..it is also in the wrong TA, this is clearly a Java question.

 elroytiow, if you do not do your own home work and learn nothing from your courses will end being unemployable.
LVL 53

Expert Comment

ID: 13527591
>>>.it is also in the wrong TA,

The real wrong TA it is in; is the cross-posted version in Community Support ...LOL

LVL 30

Expert Comment

by:Mayank S
ID: 13527955

We would like to see you come up with some initial coding efforts from your own side before we start helping.

Author Comment

ID: 13531278
Below are my coding

import java.io.*;
import javax.swing.*;
import java.awt.*;

class node{
      private string catname;
      private string fishname;
      private node next;
public void setcatname(string catname){

public string getcatname(){
      return catname;

public void setfishname(string fishname){

public string getfishname(){
      return fishname;

public void setnext(node next){
      next=node next;

public node getnext(){
      return next;

public interface interfaceSLList{
      public void add(string catname,string fishname);
      public void delete(string name);
      public void search(string name);
      public void printall();
      public int size();

public class Mypet implementing interfaceSLList{
      private node head;
      public Mypet(){

      node node1=new node();


public int size(){
            return 0;
      int count=0;
      count=count +1;
}while(probe != null);

return count;

add newnode(){
      node head=null;
      node newnode=new node();

public void printall(){
      {system.out.println("The list is empty");
      node probe=head;
      system.out.println("All item in the list are:");
            system.out.println("probe.getcatname()+"is cat name"+probe.getfishname()"is fish name");

public void search(string name){
{system.out.println("The list is empty");

      system.out.println(name+" is cat name.");
      system.out.println(name2" is fish name.");
system.out.println(name&&name2 +"is not in the list");
node before=head;
node after=head.getnext();
while(before.getnext()!=null && after.getnext()!=null)
LVL 30

Accepted Solution

Mayank S earned 1000 total points
ID: 13532207
Plenty of errors.

>> public void setcatname(string catname){
>>      catname=newname;
>> }

'string' should be String. In C#, you could've got away with that but Java does not accept 'string' as a data-type. The class-name is String. Moreover, 'newname' is not defined in the above method? You should be using:

this.catname = catname ;

You've made similar mistakes in the other setters too. I hope you can correct them similarly. Also:

>> public void setnext(node next){
>>      next=node next;
>> }

You don't need to write 'node' in the RHS. This should be:

this.next = next ; // the local variable 'next' will over-ride the class-member variable, so you need to resolve using 'this'

>> public class Mypet implementing interfaceSLList{

'implementing' is not a keyword. The right word is 'implements'.

There are couple of errors more. I hope you could fix all of them and post your code if you still face problems (or better upload to a publicly available site and post its URL, if possible, otherwise this Q will become too long with lots of code).

Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
Suggested Courses
Course of the Month13 days, 14 hours left to enroll

581 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question