2016-03-19 15 views
-1

Javaのインスタンス化可能なクラスとネストされたifステートメントを使用しています。 5は700である 未満: 5未満の人500、 以上5未満の人が400Javaのネストされたif文

秋です:私はこれを実行すると、入力が5以上

夏であっても、それは常に500を出力します、5以上 は600

冬です:5は 以上5 100で、200で 未満:5未満の人は400、 以上5未満の人が300

春です

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"); 


    } 
} 
+0

mySeasons.setPeople(people); 

を追加します。あなたはそれを明確にすることができますか?そしてまた:「シーズン」の実際の価値は何ですか? – MWiesner

+2

もっとコードを共有してください。これだけではあまり言わないでしょう。あなたは何を使ってコストを初期化しましたか? seasonrの価値は何ですか? – Learner

+0

完全なコードを投稿してください – Rehman

答えて

0

あなたは人の数を設定しないでください。
は、それが初期値 `cost`が持っている、不明であるラインに

mySeasons.compute(); 
+0

ああ私の神は私のif文を修正して何時間も立ち往生してくれてありがとう –

関連する問題