2016-02-27 167 views
0

的分配有以下稅率:包價的 重量每500英里運 2磅以下$ 1.10 超過2磅,但不超過6磅$ 2.20 超過6磅,但不超過10磅$ 3.70 超過10磅$ 3.80運費計算器小姐計算

每500英里的運費不按比例分配。例如,如果一個2磅包裝運送502英里,則收費爲2.20美元。編寫一個程序,要求用戶輸入包裹的重量,然後顯示運費。

我的問題是,我得到錯誤的答案。這是我走到這一步:

import java.util.Scanner; 
public class ShippingCharges 
{ 
public static void main (String [] args) 
{ 
    double mDrive, rMiles, wPound; 

    Scanner keyboard = new Scanner (System.in); 

    System.out.print ("Enter Weight of Package: "); 
    wPound = keyboard.nextDouble(); 
    System.out.println(""); 

    System.out.print ("Enter Miles Driven: "); 
    mDrive = keyboard.nextDouble(); 
    System.out.println(""); 

    rMiles = mDrive/500; 

    if (wPound <2) 
    { 
     System.out.println ("You will be charged "+ "$" + Math.ceil(rMiles)*1.10); 
    } 

    if (wPound >=2 && wPound <6) 
    { 
     System.out.println ("You will be charged "+ "$" + Math.ceil(rMiles)*2.20); 
    } 

    if (wPound >=6 && wPound <10) 
    { 
     System.out.println ("You will be charged "+ "$" + Math.ceil(rMiles)*3.70); 
    } 

    if (wPound >= 10) 
    { 
     System.out.println ("You will be charged "+ "$" + Math.ceil(rMiles)*3.80); 
    } 

} 
} 

繼例如,程序應該做500分之502* 2.2是2.2和程序是顯示4.4。任何建議?

+0

根據所提供的指令,代碼應該是'如果(wPound <= 2)'和'如果(wPound> 2 && wPound <= 6) '等等等。那麼你可以用'if(wPound <= 2)'和'else if(wPound <= 6)'離開,等等。 –

+0

哈羅德:它的工作原理。我應該爲另一個做還是隻做這個? 卡爾文:仍然給出相同的答案 –

+0

@JonathanSGutierrez閱讀Calvins的答案。他是對的。它應該工作,如果你修復你的if語句。保持Math.ceil相同並嘗試。 – Kumar

回答

1

你的if語句是罪魁禍首。以下你提供的說明中,陳述應如下所示

if (wPound<=2) { 
    System.out.println ("You will be charged "+ "$" + Math.ceil(rMiles)*1.10); 
} 
else if(wPound<=6) { 
    System.out.println ("You will be charged "+ "$" + Math.ceil(rMiles)*2.20); 
} 
else if (wPound<=10) { 
    System.out.println ("You will be charged "+ "$" + Math.ceil(rMiles)*3.70); 
} 
else { 
    System.out.println ("You will be charged "+ "$" + Math.ceil(rMiles)*3.80); 
} 
+0

1最後一個問題:如果wPound = 5的值不應該是第二個和第三個語句是真的? –

+0

是的,但使用'else if',它會落入第一個評估爲true的語句,並跳過其餘部分@JonathanSGutierrez –

+0

感謝您的一切!我對這部分有點困惑。 –