Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Hello, please help me with my homework. Thank you! Given a base Plant class and a derived Flower class, complete main ( ) to create

Hello, please help me with my homework. Thank you!
Given a base Plant class and a derived Flower class, complete main() to create an ArrayList called myGarden. The ArrayList should be able to store objects that belong to the Plant class or the Flower class. Create a method called printArrayList(), that uses the printlnfo() methods defined in the respective classes and prints each element in myGarden. The program should read plants or flowers from input (ending with -1), add each Plant or Flower to the myGarden ArrayList, and output each element in myGarden using the printInfo() method.
Ex. If the input is:
plant Spirea 10
flower Hydrangea 30 false lilac
flower Rose 6 false white
plant Mint 4
-1
The output would be:
Plant 1 Information:
Plant name: Spirea
Cost: 10
Plant 2 Information:
Plant name: Hydrangea
Cost: 30
Annual: false
Color of flowers: lilac
Plant 3 Information:
Plant name: Rose
Cost: 6
Annual: false
Color of flowers: white
Plant 4 Information:
Plant name: Mint
Cost: 4
Here is the Main and it's associated Classes:
import java.util.Scanner;
import java.util.ArrayList;
public class PlantArrayListExample {
// Method to print the ArrayList containing Plant or Flower objects
public static void printArrayList(ArrayList myGarden){
for (Plant plant : myGarden){
plant.printInfo(); // Using polymorphism to call the appropriate printInfo() method
}
}
public static void main(String[] args){
Scanner scnr = new Scanner(System.in);
String input;
ArrayList myGarden = new ArrayList>(); // ArrayList to store Plant or Flower objects
while (!(input = scnr.next()).equals("-1")){
String plantType = input; // Store whether it's a "plant" or "flower"
input = scnr.next();
String plantName = input;
input = scnr.next();
String plantCost = input;
if (plantType.equals("plant")){
Plant plant = new Plant(); // Create a new Plant object
plant.setPlantName(plantName);
plant.setPlantCost(plantCost);
myGarden.add(plant); // Add the Plant object to myGarden
} else if (plantType.equals("flower")){
input = scnr.next();
boolean isAnnual = Boolean.parseBoolean(input);
input = scnr.next();
String colorOfFlowers = input;
Flower flower = new Flower(); // Create a new Flower object
flower.setPlantName(plantName);
flower.setPlantCost(plantCost);
flower.setPlantType(isAnnual);
flower.setColorOfFlowers(colorOfFlowers);
myGarden.add(flower); // Add the Flower object to myGarden
}
}
printArrayList(myGarden); // Print the contents of myGarden
}
}
public class Plant {
protected String plantName;
protected String plantCost;
public void setPlantName(String userPlantName){
plantName = userPlantName;
}
public String getPlantName(){
return plantName;
}
public void setPlantCost(String userPlantCost){
plantCost = userPlantCost;
}
public String getPlantCost(){
return plantCost;
}
public void printInfo(){
System.out.println(" Plant name: "+ plantName);
System.out.println(" Cost: "+ plantCost);
}
}
public class Flower extends Plant {
private boolean isAnnual;
private String colorOfFlowers;
public void setPlantType(boolean userIsAnnual){
isAnnual = userIsAnnual;
}
public boolean getPlantType(){
return isAnnual;
}
public void setColorOfFlowers(String userColorOfFlowers){
colorOfFlowers = userColorOfFlowers;
}
public String getColorOfFlowers(){
return colorOfFlowers;
}
@Override
public void printInfo(){
System.out.println(" Plant name: "+ plantName);
System.out.println(" Cost: "+ plantCost);
System.out.println(" Annual: "+ isAnnual);
System.out.println(" Color of flowers: "+ colorOfFlowers);
}
}
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Beginning Apache Cassandra Development

Authors: Vivek Mishra

1st Edition

1484201426, 9781484201428

More Books

Students also viewed these Databases questions

Question

What is the biggest challenge facing the organization?

Answered: 1 week ago