Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a class encapsulating the concept of the weather forecast , assuming that

ID: 3547033 • Letter: W

Question

Write a class encapsulating the concept of the weather forecast, assuming that it has the following attributes: the temperature and the sky conditions, which could be sunny, snowy, cloudy, or rainy. Include a constructor, the accessors and mutators, and methods toString and equals.

Temperature, in Fahrenheit, should be between -50 and +150; the default value is 70, if needed.

The default sky condition is sunny.

Include a method that converts Fahrenheit to Celsius.

Celsius temperature = (Fahrenheit temperature - 32) * 5 / 9.

Also include a method that checks whether the weather attributes are consistent (there are two cases where they are not consistent: when the temperature is below 32 and it is not snowy, and when the temperature is above 100 and it is not sunny).Write a client class to test all the methods in your class.

Explanation / Answer

////Simple java Weather forecast class
public class WeatherForcast
{
//Declare instance variables and set them to initial values
private double temp;
private String skyCondition;
//Overloaded constructor allows client to set values
public WeatherForcast()
{
skyCondition = "sunny";
temp = 70.0;
}
public WeatherForcast(double startTemp, String startSky)
{
temp = startTemp;
setSky(startSky, temp);
}
//Accessor Methods
public double getTemp()
{
return temp;
}
public String getSky()
{
return skyCondition;
}
//Mutator methods
public void setTemp(double startTemp)
{
temp = startTemp;
}
public void setSky(String startSky, double temp)
{
if((temp <= 32.0 && startSky != "snowy") || (temp >= 100.0 && startSky != "sunny"))
{
System.err.println("Conditions are not valid");
}
else
skyCondition = startSky;
}
public double convert()
{
return ((temp - 32) * (5/9));
}
}   

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote