I'm using an instantiable class and nested if statements in Java. When I run this it always outputs 500 even when the input is more than 5.
Summer: less than 5 people is 500, more than 5 people is 400
Autumn: less than 5 is 700, more than 5 is 600
Winter:less than 5 people is 400, more than 5 people is 300
Spring: less than 5 is 200, more than 5 is 100
public class Seasons{
//data members
private String season;
private int people;
private int cost;
//constructor
public Seasons(){
season="";
people=0;
}
//set methods
public void setSeason(String season){
this.season=season;
}
public void setPeople(int people){
this.people=people;
}
//compute method
public void compute(){
if(season.equals ("summer")){
if(people<=5){
cost=500;
}
else{
cost=400;
}
}
else if(season.equalsIgnoreCase("autumn")){
if(people<=5){
cost=700;
}
else{
cost=600;
}
}
else if(season.equalsIgnoreCase("winter")){
if(people<=5){
cost=400;
}
else{
cost=300;
}
}
else if(season.equalsIgnoreCase("spring")){
if(people<=5){
cost=200;
}
else{
cost=100;
}
}
}
//get method
public int getCost(){
return cost;
}
}
App class:
import javax.swing.JOptionPane;
public class SeasonsApp{
public static void main(String args[]){
//declare variables
String season;
int people;
int cost;
//declare objects
Seasons mySeasons;
//create objects
mySeasons=new Seasons();
//input
season=JOptionPane.showInputDialog(null,"what season is it");
people=Integer.parseInt(JOptionPane.showInputDialog(null,"How many people are going?"));
//set
mySeasons.setSeason(season);
//compute
mySeasons.compute();
//get
cost=mySeasons.getCost();
//output
JOptionPane.showMessageDialog(null,"your cost is " + cost + " euro");
}
}