package com.itheima.lx;
import java.util.Scanner;
/**
* @author: LXHYouth
* @date: 2024/3/4 14:34
* @Version: 1.0
*/
/*
8、某商场购物可以打折,具体规则如下:
普通顾客购不满100元不打折,满100元打9折;
会员购物不满200元打8折,满200元打7.5折;
不同打折规则不累加计算。
请根据此优惠计划进行购物结算,键盘录入顾客的类别(0表示普通顾客,1表示会员)和购物的折前金额(整数即可),输出应付金额(小数类型)。
*/
public class Demo8 {
public static void main(String[] args) {
//思路:
//创建三个变量用来存储会员种类, 折前金额, 折后金额
int sort=0,inputMoney=0;
double endMoney=0;
// 创建扫描器对象
Scanner scanner = new Scanner(System.in);
// 提示收银员输入顾客类型
System.out.print("请输入顾客的类别(0表示普通顾客,1表示会员): ");
// 获取顾客类型
// 对顾客类型有效性进行判断
while(true){
sort =scanner.nextInt();
// 使用if语句进行顾客类型
if(sort==0||sort==1){
break;
}else{
System.out.print("顾客类型输入错误, 请重新输入: ");
}
}
// 提示收营员输入顾客购物折前金额
System.out.print("请输顾客购物折前金额: ");
// 对金额有效性进行判断
// 获取折前金额
while (true){
inputMoney=scanner.nextInt();
if(inputMoney<0){
System.out.print("输入的金额不正确 为负数, 请重新输入: ");
}else{
break;
}
}
// 使用if语句判断使用的折扣方式
if(sort==0){
// 普通用户, 金额大于等于100 打九折
if(inputMoney>=100){
endMoney=inputMoney*0.9;
//由于对有效性进行判断, 金额不会小于零, 所以其他情况就是小于100的金额
}else{
endMoney=inputMoney;
}
//客户类型也进行过有效性判断,不是 0 就是 1
}else{
if(inputMoney<200){
endMoney=inputMoney*0.8;
}else{
endMoney=inputMoney*0.75;
}
}
// 使用三元运算符判断一下客户类型
System.out.println("客户类型: "+ (sort==0? "普通顾客 ":"表示会员 ")+"应付金额为: "+ endMoney);
}
}