[操作疑難] Java switch-case 問題

本帖最後由 karocheng 於 2013-6-3 13:00 編輯

以下有一段 Java code,
我想用 switch-case 去將價錢分類,
但 不想使用 if 幫忙分類,
請問 有其他方法 嗎?

~題目內容~
Write a method priceCategory() which returns the price category of the basketball as a String using a switch-case statement. The price category of the basketball is determined acording to the following table.

Price Category           Number of Products
"High"                        not less than 300
"Medium"                   100 to less than 300
"Low"                         less than 100

~Java code~

public String priceCategory(){
    String priceCat = ""; //用於 顯示 價格類別
   
    //用於 格價範圍分類
    int i;
    if (price>=300.0) {i=1;} //價錢 等於/高於 $300.0, 則為 高價格
    else if (price<300.0 && price>=100.0) {i=2;} //價錢 於此範圍, 則為 中價格
    else if (price >=0.0 && price < 100.0) {i=3;} //價錢 低於 $100.0, 則為 低價格
   
    switch (i) {
        case 1: priceCat = "High" ; break; //改為 高價格
        case 2: priceCat = "Medium" ; break;
        case 3: priceCat = "Low" ; break;
    }

    return priceCat; //回覆 價格類別
}

price 同 priceCat 係有咩分別?

TOP

回復 2# snoopy11hk
price 是 double type,
用來 儲存 價錢數值,

priceCat 是 用來 分類價錢等級,
例如: 若 價錢 (price) = 777.77, 則 佢既 價格分類 (priceCat) = 高 (High)

TOP

咁你個 i 又有咩用?
  1. if (price>=300.0) {priceCat = "High" ;} //價錢 等於/高於 $300.0, 則為 高價格
  2.      else if (price<300.0 && price>=100.0) {priceCat = "Medium" ;} //價錢 於此範圍, 則為 中價格
  3.      else if (price >=0.0 && price < 100.0) {priceCat = "Low" ;}
複製代碼

TOP

#4

同埋樓主,switch點都好
加番個default value

TOP

#4

同埋樓主,switch點都好
加番個default value
BlackJack 發表於 2013-6-3 12:33

再加 D advance 野
double 係唔適合用黎做 計錢的野
要用黎計錢的野應該用 BigDecimal

TOP

回復 6# snoopy11hk
其實呢個 Java Program 係用黎做功課
我照佢既求去 design 個內容,
我未學過 BigDecimal ^^"

TOP

回復 4# snoopy11hk
i 當係 一個代號,
用黎 分辨 price既 範圍

TOP

回復 8# karocheng

佢意思係if已經解決左問題
做咩要因為用switch整多個i出黎
所以問你有咩用

TOP

回復 5# BlackJack
我岩岩學 JAVA,
我上網有參考過,
知道要加 default,
但 加個 default 唔知叫佢做咩好 ^^"

TOP