我不知道是什麼導致了這個錯誤。我的老師和我過去了,無法找到問題所在。需要常量表達式? (Java switch語句)
import java.util.Scanner;
public class MailAssignment
{
public static void main(String [] args){
Scanner userinput = new Scanner(System.in);
char p;
char f;
double price = 0;
System.out.println("First class or priority?");
char type = userinput.next().charAt(0);
System.out.println("How much does the package weigh? (in ounces)");
double weight = userinput.nextDouble();
switch (type){
case p:
if (weight > 16)
price = weight * 3.95;
else if (weight > 32)
price = (1.20 * (weight/16));
else
price = 3.50 * weight;
break;
case f:
if (weight < 1)
price = 0.34;
else if (weight > 1)
price = 0.34 + (weight * 21);
else if (weight > 13)
price = weight * 3.95;
else if (weight > 32)
price = 1.20 * (weight/16);
else
price = 3.50 * weight;
break;
}
System.out.println("Your price is: " +price);
}
}
它拋出錯誤時,它的編譯和它所指向的情況下,P A「要求常量表達式」:行,但是,它也把它扔了對F:如果我切換他們,所以我必須做一些完全關閉。
你不能在'case'語句中使用變量,這些變量沒有聲明爲final。 – 2013-02-26 14:13:46
我正在嘗試類似的東西,事實證明,即使變量是最終的,也會拋出同樣的錯誤。 – 2013-12-25 23:56:47