2017-10-20 75 views
1

私はホテル予約システムを作る必要がありますが、誰かが1週間以上滞在するかどうかを知るためにif/elseを使用することは許されません。なぜなら、7日間滞在すると割引を得るからです(滞在8泊=割引+ 1日通常価格の7日間)。そして、私はこれをどうやって作るのか、実際には考えていません。(私がそれを知っていれば、とても簡単でしょう)Javaホテル予約

誰かが私にヒントを与えることを望みます。ノウハウまで私のコードです

public class HotelReservationSystem { 

    public static void main(String[] args) { 
     System.out.println("Amount persons: "); 
     int persons = In.readInt(); 
     System.out.println("Amount days: "); 
     int days = In.readInt(); 
     System.out.println("Meals: "); 
     int meals= In.readInt(); 

     int twinRooms = persons/2 + persons%2; 
     System.out.println("Double rooms: " + twinRooms); 

     int priceForStay = days*(twinRooms*9500); 
     System.out.println("Price for staying: " + priceForStay/100 +"€"); 
    } 
} 
+1

それでは数学的ではないですか? – Kayaman

+1

それが簡単な場合は、 'if'を使ってどのように行うのかを示してください。 –

+1

注: 'int twinRooms =(persons + 1)/ 2;'は部屋の数を計算する簡単な方法です。 –

答えて

0

ごとに完全な7日間は割引を取得します。だから、モジュロでディスカウントされた日の数を計算することができます。条件は必要ありません。

int days = 12; 
int fullPriceDays = days % 7; // 5 
int discountedDays = days - fullPriceDays; // 7 
+0

あなたは '%7'ではなく'/7'を望んでいる、私は意図が5日間無料になるとは思わない。 –

+0

あなたの助けをありがとう –

+0

@PeterLawrey /と%の両方が可能です。彼はどのように価格計算を進めたいと思うかによって異なります。 – Januson

関連する問題