首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算罚款,然后再计算每小时的附加罚款

计算罚款,然后再计算每小时的附加罚款
EN

Stack Overflow用户
提问于 2014-04-11 04:31:20
回答 3查看 431关注 0票数 1

我需要计算停车收费表的罚款。违例停放车辆的首个小时或不足一小时的罚款为二十五元。违例停泊的车辆每多停一小时或不足一小时,便会额外加收10元。我不知道如何计算每一个额外的小时。

到目前为止,我所拥有的:

代码语言:javascript
复制
if(car.getMinutesParked()-meter.getminutesPurchased()<=60)
{
    totalFine = FINE;
}   
else if(car.getMinutesParked()-meter.getminutesPurchased()>60)
{
    totalFine = FINE + (ADDITIONAL_FINE)
}
EN

回答 3

Stack Overflow用户

发布于 2014-04-11 04:40:36

代码语言:javascript
复制
final int delta = car.getMinutesParked() - meter.getminutesPurchased();
if (delta > 0) {
    totalFine = FINE + (delta / 60)*ADDITIONAL_FINE;
}
票数 2
EN

Stack Overflow用户

发布于 2014-04-11 04:38:28

从逻辑上想一想。你只是用文字输入了需要做的事情,所以花点时间坐下来,想一想如何把它翻译成代码。继续使用您的格式:

代码语言:javascript
复制
int totalFine = 0;
int totalTime = car.getMinutesParked();

if(totalTime - meter.getMinutesPurchased() <= 60){
       totalFine = FINE;
}
else{
       totalFine = FINE;                        // add fine for first hour
       totalTime = totalTime - 60;              // remove that first hour for our total time

       // add our initial fine + (number of additional hours * fee per additional hour)
       totalFine = totalFine + ((totalTime / 60) * ADDITIONAL_FINE);
}

有一些方法可以简化代码的格式化,但我认为更好的方式是一步一步地显示正在进行的内容

票数 1
EN

Stack Overflow用户

发布于 2014-04-11 04:35:11

代码语言:javascript
复制
boolean firstHour = true;
int minutes = car.getMinutesParked() - meter.getMinutesPurchased();
int fineDollars = 0;
while (minutes > 0) {
    if (firstHour) fineDollars += 25;
    else fineDollars += 10;
    firstHour = false;
    minutes -= 60;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22998407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档