Question

In: Computer Science

Animal class Create a simple class called Animal instantiated with a name and a method toString...

Animal class

Create a simple class called Animal instantiated with a name and a method toString which returns the name.

Cat class

Create a simple class Cat which extends Animal, but adds no new instance variable or methods.

RedCat class

Create a simple class RedCat which extends Cat, but adds no new instance variable or methods.

WildCardTester class

Create a class with the main method and methods addCat, deleteCat and printAll as follows.

addCat method

Has two parameters, an ArrayList with a lower bound of RedCat, and a String with the name of a Cat. Adds the identified Cat reference to the ArrayList, and prints out a line as shown in the sample output below.

deleteCat method

Has two parameters, an ArrayList with an upper bound of Cat, and a String with the name of a Cat to be deleted. Deletes the identified Cat reference to the ArrayList, and prints out a line as shown in the sample output below.

printAll method

Has a single parameter of an ArrayList with a wildcard type. Prints out all the items in the ArrayList.

main method

Create two ArrayLists, one for Animal, and one for RedCat.

Use addCat to add “Tiger” to the animal ArrayList.

Use addCat to add “Tom”, “Siamese” and “Tiger” to the redCats ArrayList.

Use printAll to print the list in the animal ArrayList.

Use printAll to print the list in the redCat ArrayList.

Use deleteCat to delete the first item in the redCat ArrayList.

Use printAll to print the list in the redCat ArrayList.

Sample Output:

Cat Added named Tiger was added

Cat Added named Tom was added

Cat Added named Siamese was added

Cat Added named Tiger was added

The list of animals:

Tiger

The list of redCats:

Tom Siamese Tiger

Removed cat named Tom

The list of redCats after a deletion:

Siamese Tiger

Solutions

Expert Solution

Program Screenshots:

Animal.java

Cat.java

RedCat.java

WildCardTester.java

Program Code :

Animal.java

//Create a simple class called Animal instantiated with a name and a method toString which returns the name.
public class Animal {
   String name;

   public Animal(String name) {
       this.name = name;
   }

   @Override
   public String toString() {
       return name;
   }

}

Cat.java

//Create a simple class Cat which extends Animal, but adds no new instance variable or methods.
public class Cat extends Animal {

   public Cat(String name) {
       super(name);
      
   }

}

RedCat.java

//Create a simple class RedCat which extends Cat, but adds no new instance variable or methods.
public class RedCat extends Cat {

   public RedCat(String name) {
       super(name);
      
   }

}

WildCardTester.java

//Create a class with the main method and methods addCat, deleteCat and printAll as follows
import java.util.ArrayList;
import java.util.List;

public class WildCardTester {

   public static void main(String[] args) {
      
//       Create two ArrayLists, one for Animal, and one for RedCat.
       List<Animal> animal = new ArrayList<Animal>();
       List<RedCat> redCat = new ArrayList<RedCat>();
       addCat(animal,"Tiger");
       addCat(redCat,"Tom");
       addCat(redCat,"Siamese");
       addCat(redCat,"Tiger");
       System.out.println("The list of animals:");
       for(Animal a : animal) {
           System.out.print(a + " ");
       }
       System.out.println();
       System.out.println("The list of redCats:");
       for(RedCat r : redCat) {
           System.out.print(r + " ");
       }
       System.out.println();
       deleteCat(redCat, "Tom");
       printAll(redCat);
   }
//   printAll method:Has a single parameter of an ArrayList with a wildcard type. Prints out all the items in the ArrayList.
   private static void printAll(List<? super RedCat> lists) {
       System.out.println("The list of redCats after a deletion:");
       for(Object r : lists) {
           System.out.print(r + " ");
       }
      
   }
  
   /*deleteCat method:Has two parameters, an ArrayList with an upper bound of Cat,
   and a String with the name of a Cat to be deleted.
   Deletes the identified Cat reference to the ArrayList, and prints out a line as shown in the sample output below.*/

   private static void deleteCat(List<RedCat> lists1, String name1) {
       System.out.println("Removed cat named " + name1);
       for(RedCat rc : lists1) {
           if(rc.name.equals(name1)) {
               lists1.remove(rc);
               break;
           }
       }
      
   }
  
   /*addCat method :Has two parameters, an ArrayList with a lower bound of RedCat, and a String with the name of a Cat.
   Adds the identified Cat reference to the ArrayList, and prints out a line as shown in the sample output below.*/
   private static void addCat(List<? super RedCat> lists, String name1) {
       lists.add(new RedCat(name1));
       System.out.println("Cat Added named " + name1 + " was added");
      
      
   }

}

Sample Output:


Related Solutions

Suppose that Account class has a method called toString, which will be inherited by Checking and...
Suppose that Account class has a method called toString, which will be inherited by Checking and Savings class. The toString method will perform according to account type. It will return a string that describes the account information. So, the late bind is needed. Declare the toString method in Account class. The method should take no argument and return a string that describes the account information. IT IS C++
Suppose that Account class has a method called toString, which will be inherited by Checking and...
Suppose that Account class has a method called toString, which will be inherited by Checking and Savings class. The toString method will perform according to account type. It will return a string that describes the account information. So, the late bind is needed. Declare the toString method in Account class. The method should take no argument and return a string that describes the account information. c++
In java: -Create a class named Animal
In java: -Create a class named Animal
Create a new class called Account with a main method that contains the following: • A...
Create a new class called Account with a main method that contains the following: • A static variable called numAccounts, initialized to 0. • A constructor method that will add 1 to the numAccounts variable each time a new Account object is created. • A static method called getNumAccounts(). It should return numAccounts. Test the functionality in the main method of Account by creating a few Account objects, then print out the number of accounts
Program in Java Create a class and name it MyArray and implement following method. * NOTE:...
Program in Java Create a class and name it MyArray and implement following method. * NOTE: if you need more methods, including insert(), display(), etc. you can also implement those. Method name: getKthMin(int k) This method receives an integer k and returns k-th minimum value stored in the array. * NOTE: Items in the array are not sorted. If you need to sort them, you can implement any desired sorting algorithm (Do not use Java's default sorting methods). Example: Items...
Java: Create a class and name it MyArray and implement following method. * NOTE: if you...
Java: Create a class and name it MyArray and implement following method. * NOTE: if you need more methods, including insert(), display(), etc. you can also implement those Method name: getKthMin(int k) This method receives an integer k and returns k-th minimum value stored in the array. * NOTE: Items in the array are not sorted. If you need to sort them, you can implement any desired sorting algorithm (Do not use Java's default sorting methods). Example: Items in the...
Program in Java Create a class and name it MyArray and implement following method. * NOTE:...
Program in Java Create a class and name it MyArray and implement following method. * NOTE: if you need more methods, including insert(), display(), etc. you can also implement those. Method name: getKthMin(int k) This method receives an integer k and returns k-th minimum value stored in the array. * NOTE: Items in the array are not sorted. If you need to sort them, you can implement any desired sorting algorithm (Do not use Java's default sorting methods). Example: Items...
IN JAVA PLEASE Create a class called Child with an instance data values: name and age....
IN JAVA PLEASE Create a class called Child with an instance data values: name and age. a. Define a constructor to accept and initialize instance data b. include setter and getter methods for instance data c. include a toString method that returns a one line description of the child
in Java, Create a class called EMPLOYEE that includes three instance variables – a first name...
in Java, Create a class called EMPLOYEE that includes three instance variables – a first name (type String), a last name (type String) and a monthly salary (double). Provide a constructor that initializes the three instance variables. Provide a set and a get method for each instance variable. If the monthly salary is not positive, do not set its value. Write a test app names EmployeeTest that demonstrates class EMLOYEE’s capabilities. Create two EMPLOYEE objects and display each object’s yearly...
Assignment 1: Build a simple class called DBTester.java. This class should have only one method, main...
Assignment 1: Build a simple class called DBTester.java. This class should have only one method, main method. In the main method you should read in all of the rows of data from the Instructors Table in the Registration Database, then print out this data. Follow the steps outlined in class. Remember to use try-catch blocks for all database access code. The example in the book does not use Try-catch blocks, but you should
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT