亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我不明白為什么我的計算不起作用

我不明白為什么我的計算不起作用

DIEA 2021-10-13 10:45:52
我對編程很陌生。這是 carHire 類。兩者之一。我需要開發一個基于 GUI 的租車應用程序。所以當我輸入時,似乎一切正常,但我的租金仍然是0。我想不通。`公共類租車{    private String customerName;    private String licenseNumber;    private int daysHired;        CarHire(){            customerName=null;            licenseNumber=null;            daysHired=0;            }        CarHire(String customerName, String licenseNumber, int daysHired){            this.customerName = customerName;            this.licenseNumber = licenseNumber;            this.daysHired = daysHired;            }            public void setCustomerName(String customerName){                this.customerName = customerName;            }            public void setLicenseNumber(String licenseNumber){                this.licenseNumber = licenseNumber;            }            public void setDaysHired(int daysHired){                this.daysHired = daysHired;            }            public String getCustomerName()            {                return customerName;            }            public String getLicenseNumber()            {                return licenseNumber;            }            public int getDaysHired()            {                return daysHired;            }    public double calculateHireRental(){        final double BASE_RATE = 34.5;    final double NEXT_TIER_RATE = 30.5;    final double LAST_TIER_RATE = 22.5;    final int NEXT_TIER_START_DAY=4;    final int LAST_TIER_START_DAY=7;    double rental= 0.0;        int days = 0;    if(days<NEXT_TIER_START_DAY){               rental=days*BASE_RATE;     }         else if(days<=LAST_TIER_START_DAY){            rental=3*BASE_RATE+(days-3)*NEXT_TIER_RATE;        }        else{    rental=3*BASE_RATE+4*NEXT_TIER_RATE+(days-7)*LAST_TIER_RATE;        }        return rental;    }}`以下是GUI類。
查看完整描述

3 回答

?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

在您提供的代碼中:在您的 GUI 中,您將結果分配給“daysHired”變量

        int daysHired = Integer.parseInt(daysField.getText());

但是在您的 CarHire 課程中,變量 days 已經預定義為 0:

int days = 0;

所以無論你乘以“天”(乘以 0) - 你總是會得到 0:

 rental=days*BASE_RATE;


查看完整回答
反對 回復 2021-10-13
?
www說

TA貢獻1775條經驗 獲得超8個贊

public double calculateHireRental(){

    final double BASE_RATE = 34.5;

final double NEXT_TIER_RATE = 30.5;

final double LAST_TIER_RATE = 22.5;


final int NEXT_TIER_START_DAY=4;

final int LAST_TIER_START_DAY=7;


double rental= 0.0;


/*Delete the "int days = 0;" variable and use the class member "daysHired" instead*/


if(daysHired<NEXT_TIER_START_DAY){   

        rental=daysHired*BASE_RATE;

 } 

    else if(daysHired<=LAST_TIER_START_DAY){

        rental=3*BASE_RATE+(daysHired-3)*NEXT_TIER_RATE;

    }

    else{

rental=3*BASE_RATE+4*NEXT_TIER_RATE+(daysHired-7)*LAST_TIER_RATE;

    }

    return rental;

}

嘗試這個...


查看完整回答
反對 回復 2021-10-13
?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

calculateHireRental()你有int days = 0;,所以第一個if是真的,你返回days * BASE_RATE哪個是0

刪除days變量并改用類成員daysHired。


查看完整回答
反對 回復 2021-10-13
  • 3 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號