商场消费折扣四个条件
1.未超过200元全额
2.不少于200元未超出600元,8.5折优惠
3.不少于600元未超出1000元,7折优惠
4.不少于1000元,6折优惠
要求使用switch来写,并在控制台输出享受折扣与打折后需支付的金额。
用if倒是可以写出来,用switch的话没办法在case后定义区间,只能定义常量值了。哪位智者帮我解答下
这个不太了解这个是整体折扣还是区间折扣,所以写了两个。
import java.util.Scanner;
public class Main {
//这个是分区间打折,不同的区间有不同的优惠
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
double price = 0; //打折后的价格
int originalPrice = s.nextInt(); //原价
switch (0){
case 0:
if (originalPrice<=200){
price = price + originalPrice;
break;
}
price = price + 200;
case 1:
if (originalPrice<=600){
price = price + (originalPrice-200)*0.85;
break;
}
price = price + (600-200)*0.85;
case 2:
if (originalPrice<=1000){
price = price + (originalPrice-600)*0.7;
break;
}
price = price + (1000-600)*0.7;
case 3:
price = price + (originalPrice-1000)*0.6;
break;
}
System.out.println(price);
}
}
下面这个是整体打折
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
double price = 0; //打折后的价格
int originalPrice = s.nextInt(); //原价
switch (0){
case 0:
if (originalPrice<=200){
price = originalPrice;
System.out.println("未超过200元,无优惠");
break;
}
case 1:
if (originalPrice<=600){
price = originalPrice*0.85;
System.out.println("价格在200元到600元,85折");
break;
}
case 2:
if (originalPrice<=1000){
price = originalPrice*0.7;
System.out.println("价格在600元到1000元,7折");
break;
}
case 3:
price = originalPrice*0.6;
System.out.println("价格在1000元以上,6折");
break;
}
System.out.println(price);
}
}
也没有个实例啥的,可以跑下试试,有问题再问我哦
switch(n/100)
{
case0:
case1:
case2:
干就完了;break;
case3:
。。。
}
哈哈哈哈哈
从键盘输入的数除以100作为switch条件
case3,case4……直到换折扣之前,case里面都可以写上一样的折扣内容哦