Я использую инстанцируемые классы и вложенные операторы if в Java. Когда я запускаю это всегда выводит 500, даже если входной сигнал больше, чем 5.Java вложенные операторы if
Лето: менее 5 человек составляет 500, более 5 человек составляет 400
Осень: менее 5 700 , более 5 600
зима: менее 5 человек 400, более 5 человек составляет 300
Пружина: менее 5 200, более чем 5 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 класс:
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");
}
}
Неясно, что начальное значение 'cost' имеет. Можете ли вы прояснить это? А также: какова фактическая ценность «сезона»? – MWiesner
Поделиться другим кодом. Это одно не скажет много. С чего вы инициализировали стоимость? Какова ценность сезона? – Learner
Пожалуйста, напишите полный код – Rehman