Java中的Switch

Switch语句可以实现多重选择的逻辑结构,然后执行case语句的后续代码;它的计算结果必须是整型、字符型、字符串或枚举;break用于退出switch语句结构;default用于当没有匹配到任何case时,执行默认逻辑

使用Switch实现账单随机打折

import java.math.BigDecimal;
public class Test04 {
	public static void main(String[] args) {
		//实付金额
		BigDecimal orderMoney = new BigDecimal("1234.56");
		//通过随机数,产生一个随机折扣值
		int rand  = (int)(Math.random()*10);
		//支付金额
		BigDecimal payMoney = null;
		//折扣
		BigDecimal sale = null;
		//判断折扣
		switch(rand) {
		case 0:
			sale = new BigDecimal("0.0");
			break;
		case 1:
			sale = new BigDecimal("0.1");
			break;
		case 2:
			sale = new BigDecimal("0.2");
			break;
		case 3:
			sale = new BigDecimal("0.3");
			break;
		case 4:
			sale = new BigDecimal("0.4");
			break;
		case 5:
			sale = new BigDecimal("0.5");
			break;
		case 6:
			sale = new BigDecimal("0.6");
			break;
		case 7:
			sale = new BigDecimal("0.7");
			break;
		case 8:
			sale = new BigDecimal("0.8");
			break;
		case 9:
			sale = new BigDecimal("0.9");
			break;
		}
		//计算实付金额
		payMoney = orderMoney.multiply(sale);
		//折扣值处理:0.1=>1折
		String saleValue = "免单";
		//x.compareTo(y) 比较 x与y的大小
		//返回值结果为: x = y
		//返回值结果大于0: x > y
		// 返回值结果小于0: x< y
		//sale > 0.0
		if(sale.compareTo(new BigDecimal("0.0"))==1) {
			saleValue = sale.multiply(new BigDecimal("10")).toString();
		}
		//输出结果
		System.out.println("账单金额:¥"+orderMoney);
		System.out.println("实付金额:¥"+payMoney+"【"+saleValue+"折】");
		//格式化输出
		System.out.printf("实付金额:¥%s【%s折】",payMoney,saleValue);
	}
}
  • 通过随机数,产生一个随机折扣值
  • 支付金额、折扣设为空
  • 通过switch判断折扣
  • 计算实付金额
  • x.compareTo(y) 比较 x与y的大小:返回值结果为: x = y;返回值结果大于0: x > y; 返回值结果小于0: x< y
  • 使用普通输出和格式化输出折扣后的金额以及折扣
账单金额:¥1234.56
实付金额:¥246.912【2.0折】
实付金额:¥246.912【2.0折】

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值