Java program that simulates the battle between a cat & mice

Assignment Help JAVA Programming
Reference no: EM13940726

Write a Java program that simulates the battle between a cat and mice.

Cat Kills 1 mouse a day, and does not reproduce.

Mice have a chance to reproduce as long as required conditions are met. Reproduction only happens when mice are over 1, and 1 of each sex is present.

Simulation continues as long as mice population is greater than 1 and less than 10.

Simulation should generate following output depending on if the population of mice is greater than or equal to 10, or no mice left:

Mice RULE, Cats Drool Mice Population: ## (integer value)

Or

Cats RULE, Mice Drool Cat Weight (in mice): ##.## (double value, 2 decimal places)

Sample session (requires no user input):

Mice RULE, Cats Drool Mice Population: 11
Press any key to continue . . .

Cats RULE, Mice Drool Cat Weight (in mice): 2.03
Press any key to continue . . .

Mice RULE, Cats Drool Mice Population: 10
Press any key to continue . . .

Cats RULE, Mice Drool Cat Weight (in mice): 2.05
Press any key to continue . . .

The program should consist of following files:

1. LastFirstWeek5CatMouse.java (driver program)

Driver main method should be as shown below. Add appropriate code in it to generate simulation output.

import java.util.ArrayList;

public class LastFirstWeek5CatMouse
{
public static void main(String [] args)
{

cat sylvester = new cat();
ArrayList<mouse> mice = new ArrayList<mouse>();
mice.add(new mouse());
mice.add(new mouse());
mice.add(new mouse());
mice.get(0).setSex(true);
mice.get(1).setSex(false);
mice.get(2).setSex(false);

while (mice.size() >1 && mice.size() < 10)
{
for (mouse m:mice)
m.grow();
sylvester.grow();
mouse.mate(mice);
sylvester.eat(mice);
}
}
}

2. Mammal.java

Instance variables: name (string), age (integer), weight (double), isMale (Boolean)

class mammal constructor : (default constructor) Set age to 1.

grow method : Increases age of mammal by 1.

Accessor / mutator methods for each instance variable above, set or return values as appropriate for data type specified.

3. Cat.java (extends Mammal class)

eat method: Receives mouse arraylist as argument.

Randomly removes a mouse from the population 70% of the time and increases cat weight by the chosen mouse weight. Only increase weight if mouse is removed/eaten.

grow method: Set the cat's age to the current age plus 1. (Use accessor/mutator methods.)

4. Mouse.java (extends Mammal class)

class mouse constructor: (default constructor) Randomly choose sex and assign to isMale as appropriate. Set age to 1. Set weight to 1.

grow method: Increase age of mouse by 1 and weight of mouse by 1% of current weight.

mate method: (static method, receive mouse arraylist as argument) Randomly choose 2 mouse objects from arraylist and if the required conditions are met, proceed with mating. Successful mating conditions are: 1 male and 1 female mouse, both mice older than 1 day. If successful mating happens, randomly create between 0-4 mice and append to arraylist received as argument.

Reference no: EM13940726

Questions Cloud

Framework for the preparation and presentation : The International Accounting Standards Board (IASB) Framework for the preparation and presentation of financial statements and IAS 1 (revised) Presentation of financial statements provide guidance on the presentation of published financial stateme..
Should pretrial diversion be expanded : Briefly describe the alternatives to incarceration available in your state. Identify the goal that each program seeks to accomplish (e.g., rehabilitation, deterrence, restoration, etc.).
Ethical leads to better business performance : Topic: "Discuss the key benefits of business ethics and whether you believe that being ethical leads to better business performance. Provide relevant research and examples to support your thinking."
Balance in the manufacturing overhead account : Teak Outdoor Furniture manufactures wood patio furniture. The company reports the following costs for June 2012:
Java program that simulates the battle between a cat & mice : Mice have a chance to reproduce as long as required conditions are met. Reproduction only happens when mice are over 1, and 1 of each sex is present.
Evaluate the potential impacts of the resurgence of naa : Evaluate the potential impacts of (a) the resurgence of NAA; and (b) the loss of OMRI endorse- ment of ReTain for use in organic production on the US apple market and assess the risks these pose to ReTain's dominance in this market.
Developing a workplace sustainability policy : The CEO and Board of Directors would like to gauge the scope of the work involved in developing a Workplace Sustainability Policy. You have been requested to review the summary of information provided from the Environmental and Sustainability Cons..
Implement the scan, c_scan, and look disk scheduling algo : The code must have a separate method for each scheduling algorithm and they all have to be called from the main() method.
What is meant by the lex talionis : What is meant by the lex talionis? Explain what is meant by the following statement: The lex talionis is proscriptive (establishing the boundaries) rather than prescriptive (defining the appropriate punishment). What is your reaction to this idea..

Reviews

Write a Review

JAVA Programming Questions & Answers

  Design a program that extends the definition of the class

Design a program that extends the definition of the class JFrame to display a window on the screen. Name your class PropertyTax1, title your window "Calculation of Property Taxes," set the window's width to 400 pixels and height to 300 pixels, and te..

  Simulate the transactions of a checking account

create a base class, called CBankAccount, and two additional classes (each derived from CBankAccount), called CSavingsAccount and CCheckingAccount.

  Determine values of the side of triangle

Enter 3 integers and determine if these 3 values make up the sides of a triangle. If any side is

  Classes using set and get methods

Create a java program that contains two classes using set and get methods. I need the program to return the area and perimeter of a rectangle. I wrote a program and he returned to me saying I used the wrong constructors and didn't create a the sec..

  How are data structures managed and organized in language

How are data structures managed and organized in this language. How does the management or syntax of data structures in this language differ from how data structures are handled in other language

  Enhance the test score applicaion

Enhance the Test Score applicaion so it uses a "while" or a "do-while" loop plus a for loop - Change the while statement to a do-while statement, andtest this change. Does this work any better than the while loop?

  Class should have a method that returns the average

Write a class named TestScores. The class constructor should accept an array of test scores as its arguments. The class should have a method that returns the average of the test scores.

  Encrypt and decrypt the message using caesar cipher

Encrypt and decrypt the message using Caesar cipher

  Create program on eclips in java

Gain experience in using data structures to hold data in memory.

  Using joptionpanes to handle your input and output

Using JOptionPanes to handle your input and output, produce a Java program which, given three sides of a triangle, determines whether the triangle is.

  Allows the user to specify a triangle with three mouse press

Write a program that allows the user to specify a triangle with three mouse presses. After the first mouse press, draw a small dot. After the second mouse press, draw a line joining the first two points. After the third mouse press, draw the entir..

  Design implement and test an object-oriented java program

Design, implement and test an object-oriented Java program for processing single-variable polynomials represented as lists.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd