17.2k views
1 vote
Write in Java please

Description
There is a cricket that lives by our timeshare in Myrtle Beach, South Carolina. Most every night I hear it patiently chirping away. Some nights it chirps faster than others, and it seems like the warmer it is, the faster it chirps. There are many crickets, and each of them seems to behave the same. On several different nights, armed with a stopwatch and a thermometer, I recorded the frequency of the chirps and compared it to that night's air temperature.
Experimental Results
The chirping follows a simple linear formula: take the number of chirps, add 40 and divide that sum by four to get the temperature in degrees Fahrenheit.
Assignment
Create a simulation to model the crickets chirping at various randomly generated frequencies, create an Environmentclass that knows and can return the current temperature. Create a Cricket class that chirps, or for simplicity, returns how many chirps per minute the cricket would make at that temperature. Repeat the simulation for at least three trials.
Extension: There is a cricket variety in some parts of South Carolina that is a little slower than most normal Carolina crickets. Add a ClemsonCricket class that extends Cricket but chirps slower by 20%.
Bonus: Implement polymorphism in the driver class.
Rubrics
Cricket class should include the following items:
A variable that stores the frequency of chirps.
A default constructor that initializes the frequency to a random value
An overloaded constructor that initializes the frequency to a value of your choice that gets passed on as a parameter.
A method for changing the frequency to a random value.
A getter method that returns the frequency.
clemsonCricket class should include the following items:
A default constructor that initializes the frequency to a random value that is 20% lower than what the parent class constructor would initialize it to.
A overloaded constructor that calls to the parent constructor.
A polymorphic method that changes the frequency value to a value that is 20% lower than what the parent method would change it to.
Environment class should include the following items:
A variable that stores the temperature.
A default constructor that initializes the temperature to a value of your choosing.
An overloaded constructor that initializes the temperature based on the formula in the assignment.
A method that takes in a frequency as a parameter and calculates the temperature based on the formula in the assignment.
testCrickets program should do the following items:
Creates an Environment object in the test program or in the Cricket or clemsonCricket classes and displays temperature Creates a cricket object and displays temperature before and after changing frequency
Creates a Clemson cricket object and displays temperature before and after changing frequency
Creates a polymorphic Clemson cricket object and displays temperature before and after changing frequency.

User Kirlyn
by
4.2k points

1 Answer

5 votes

Answer: Provided in the section below

Step-by-step explanation:

Using C# Code:

using System;

class Environment{

//temperature

private double temp;

//sets initial value of temp to 100 Fahrenheits

public Environment(){

temp=100;

}

//sets initial value to given temp

public Environment(double t) {

this.temp = t;

}

//returns temp

public double getTemp(){

return temp;

}

//calculates temp at given frequency

public void calcTemperature(double frequency){

temp=(frequency+40)/4.0;

}

}

class Cricket{

private Random r=new Random();

//frequency of birds

protected double frequency;

//sets frequency to a random value between 0-100

public Cricket(){

frequency=r.NextDouble()*100;

}

//sets frequency to a given frequency

public Cricket(double f) {

frequency = f;

}

//returns the frequency

public double getFrequency() {

return frequency;

}

//randomize the frequency

public virtual void randomFrequency() {

frequency = r.NextDouble()*100;

}

}

class ClemsonCricket: Cricket{

//sets the frequency to 80% of the parent's

public ClemsonCricket(): base(){

frequency=frequency*0.8;

}

//sets frequency to a given frequency

public ClemsonCricket(double f): base(f){}

//randomize frequency and sets it to 80% of the parent's

public override void randomFrequency(){

base.randomFrequency();

frequency=frequency*0.8;

}

}

public class testCrickets {

static void Main(){

Environment env=new Environment();

Console.WriteLine("Initial Temp: "+env.getTemp());

Cricket cricket=new Cricket();

env.calcTemperature(cricket.getFrequency());

Console.WriteLine(String.Format("Temp before changing Frequency: {0:0.00}",env.getTemp()));

cricket.randomFrequency();

env.calcTemperature(cricket.getFrequency());

Console.WriteLine(String.Format("\\Temp after changing Freqency: {0:0.00}",env.getTemp()));

Console.WriteLine("\\Clemson Cricket: ");

ClemsonCricket clemsonCricket=new ClemsonCricket();

env.calcTemperature(clemsonCricket.getFrequency());

Console.WriteLine(String.Format("Temp before changing Frequency: {0:0.00}",env.getTemp()));

clemsonCricket.randomFrequency();

env.calcTemperature(clemsonCricket.getFrequency());

Console.WriteLine(String.Format("\\Temp after changing Freqency: {0:0.00}" ,env.getTemp()));

Console.WriteLine("\\Polymorphism Clemson Cricket: ");

Cricket Ccricket=new ClemsonCricket();

env.calcTemperature(Ccricket.getFrequency());

Console.WriteLine(String.Format("Temp before changing Frequency: {0:0.00}",env.getTemp()));

Ccricket.randomFrequency();

env.calcTemperature(Ccricket.getFrequency());

Console.WriteLine(String.Format("\\Temp after changing Freqency: {0:0.00}",env.getTemp()));

}

}

cheers i hope this helped !!

Write in Java please Description There is a cricket that lives by our timeshare in-example-1
User Monzoor Tamal
by
4.5k points