关于Java的switch语句
由于我的Java的switch语句遇到了困难,所以我把它记录下来作为备忘录。
使用for循环和switch语句编写一个程序,通过命令行参数传递蛋糕和数量,然后显示总金额。
首先,将商品的信息赋值给变量。
//商品名と価格を変数に代入
String cake1 = "ショートケーキ";
int cakePrice1 = 320;
String cake2 = "モンブラン";
int cakePrice2 = 350;
String cake3 = "チョコレートケーキ";
int cakePrice3 = 370;
String cake4 = "いちごのタルト";
int cakePrice4 = 400;
String cake5 = "チーズケーキ";
int cakePrice5 = 300;
使用switch语句检索下一个输入的蛋糕价格,并在for循环中重复添加。
String order = "";
for(int i = 0; i < args.length; i += 2) {
order = args[i];
price = 0;
switch(order) {
case cake1:
price = cakePrice1 * Integer.parseInt(args[i+1]);
price += price;
break;
case cake2:
price = cakePrice2 * Integer.parseInt(args[i+1]);
price += price;
break;
case cake3:
price = cakePrice3 * Integer.parseInt(args[i+1]);
price += price;
break;
case cake4:
price = cakePrice4 * Integer.parseInt(args[i+1]);
price += price;
break;
case cake5:
price = cakePrice5 * Integer.parseInt(args[i+1]);
price += price;
break;
}
}
然而,即使执行上述操作,case语句也必须是一个常量表达式,否则会出现错误。
由于声明变量的错误,结果如下所示。
这意味着必须是常量表达式,意味着必须不可更改。
换句话说,重新声明变量如下所示。
final String CAKE1 = "ショートケーキ";
int cakePrice1 = 320;
final String CAKE2 = "モンブラン";
int cakePrice2 = 350;
final String CAKE3 = "チョコレートケーキ";
int cakePrice3 = 370;
final String CAKE4 = "いちごのタルト";
int cakePrice4 = 400;
final String CAKE5 = "チーズケーキ";
int cakePrice5 = 300;
这个错误已经解决了。