我正在修建停车场
我想在我的代码中扩展一些东西。 ,原来它看起来像这样:
private int exitSpeed = 10; // number of cars that can leave per minute
// Let cars leave.
for (int i = 0; i < exitSpeed; i++) {
// Bye!
if (exitCarQueue.peek() != null)
exitCarQueue.removeCar();
if ((car = specialExitCarQueue.peek()) != null)
if (car instanceof ParkPassCar)
paymentMachine.pay(car);
specialExitCarQueue.removeCar();
}
我做了一些熟悉在某些时间添加汽车的事情,但我想让汽车在某些时间离开。但它不起作用。
在特定时段添加汽车:
private int weekDayArrivals= 30; // average number of arriving cars per hour
private int weekendArrivals = 60; // average number of arriving cars per hour
private int Concert = 300; // average number of arriving cars per hour
private int atNight = 1; // average number of arriving cars per hour
private int shoppingNight = 100;
int averageNumberOfCarsPerHour = 0;
if(hour >= 19 && hour<20 && day >=4 && day <= 6) {
averageNumberOfCarsPerHour = Concert;
}
else if(day >= 5 && day <= 6 )
{
averageNumberOfCarsPerHour = weekendArrivals;
}
else if(hour >= 23 && hour<7)
{
averageNumberOfCarsPerHour = atNight;
}
else if(hour >= 18 && hour<20 && day == 3 )
{
averageNumberOfCarsPerHour = shoppingNight;
}
else{
averageNumberOfCarsPerHour = weekDayArrivals;
}
但是在代码的退出行添加if和else语句不起作用。 我希望我提供足够的代码,以便你们可以帮助我。
提前致谢
答案 0 :(得分:1)
我认为你想要的OR条款不是和:小时&gt; = 23&amp;&amp;小时&lt; 7是不可能的。变量不能同时大于23且小于7。所以你应该重新检查一下。
答案 1 :(得分:0)
你的一些陈述没有任何意义,比如@DennisIch指出的, 如果永远不会成为真实的话!
if(hour >= 23 && hour<7)
{
averageNumberOfCarsPerHour = atNight;
}
我认为你的意思是:
if(hour >= 23 || hour < 7) //this will get the follow hours => 23 0 1 2 3 4 6
{
averageNumberOfCarsPerHour = atNight;
}
你的一些if可以减少,就像这个:
if(hour >= 19 && hour<20 && day >=4 && day <= 6) {
averageNumberOfCarsPerHour = Concert;
}
您的陈述的第一部分等于hour == 19
,因为满足此条件hour >= 19 && hour<20
的唯一数字是19!