循环输入商品编号和购买数量,当输入n时结账,结账时计算应付金额并且找零
public static void main(String[] args) {
double price1=0;
double price2=0;
double price3=0;
String answer;
//先定义价格,和回答,以便后面接收返回值
Scanner sc=new Scanner(System.in);
//new一个Scanner,为了方便后面接受用户输入的信息
System.out.println("*****************************************");
System.out.println("请选择购买的商品编号");
System.out.println("1、T恤"+"\t"+"2、网球鞋"+"\t"+"3、网球拍");
System.out.println("*****************************************");
//采用do{}while(); 循环
do {
System.out.println("请输入商品编号:");
String number=sc.nextLine();
//将用户输入的商品编号赋值给number
System.out.println("请输入购买数量:");
String quantity=sc.nextLine();
//将用户输入的购买数量赋值给quantity
if (Integer.parseInt(number)==1){
//选择判断,购买商品1,则进入
price1=(Integer.parseInt(quantity))*245.0;
//通过用户输入的购买数量计算价格
System.out.println("T恤¥245.0"+"\t"+"数量:"+quantity+"\t"+"合计"+"\t"+price1);
//输出购买商品的信息和总费用
}else if (Integer.parseInt(number)==2){
//选择判断,购买商品2,则进入
price2=(Integer.parseInt(quantity))*570.0;
//通过用户输入的购买数量计算价格
System.out.println("网球鞋¥570.0"+"\t"+"数量:"+quantity+"\t"+"合计"+"\t"+price2);
//输出购买商品的信息和总费用
}else if (Integer.parseInt(number)==3){
//选择判断,购买商品3,则进入
price3=(Integer.parseInt(quantity))*320.0;
//通过用户输入的购买数量计算价格
System.out.println("网球拍¥320.0"+"\t"+"数量:"+quantity+"\t"+"合计"+"\t"+price3);
//输出购买商品的信息和总费用
}else {
System.out.println("输入有误,请重新输入");
//如果输入信息有误,则返回重新输入
}
System.out.println("是否继续(y/n)");
answer=sc.nextLine();
//判断用户是否继续购买支付
} while (answer.equals("y"));
// 通过判断用户返回信息,选择是否继续循环
System.out.println("折扣: 0.8");
System.out.println("应付金额: "+"\t"+(price1+price2+price3));
System.out.println("实付金额: "+"\t"+(price1+price2+price3)*0.8);
System.out.println("请输入付款的金额:");
//输出用户购买的商品及信息
String price4 = sc.nextLine();
//接收用户输入的金额,并赋值给price4
if (Integer.parseInt(price4)<(price1+price2+price3)*0.8){
//通过判断用户输入的金额与总费用金额的对比,从而是否进入循环
do {
System.out.println("折扣: 0.8");
System.out.println("应付金额: "+"\t"+(price1+price2+price3));
System.out.println("实付金额: "+"\t"+(price1+price2+price3)*0.8);
System.out.println("您输入的金额小于应付金额,请重新输入:");
price4=sc.nextLine();
//先执行操作,再次接收用户输入的金额信息
}while (Integer.parseInt(price4)<(price1+price2+price3)*0.8);
//通过循环遍历得来的price4与总价格再次比较,判断是否进入循环
}
System.out.println("找钱:"+(Integer.parseInt(price4)-(price1+price2+price3)*0.8));
//输出用户支付完钱,找零的金额
}
输出结果为: