程序运行结果:
public static void main(String[] args) {
System.out.println("****************************************************");
System.out.println("请选择购买的商品编号:");
System.out.println("1.T 恤\t2.网球鞋\t3.网球拍");
System.out.println("****************************************************");
Scanner input = new Scanner(System.in);
int goodsNo;// 商品编号
String name ="";// 商品名称
double price = 0.0;// 商品单价
int amount;// 购买数量
String go="y";// 是否继续的变量
double money = 0.0;// 应付金额
double payment = 0.0;// 实付金额
while (go.equals("y")) {//判断输入的值是否是一样的
System.out.print("请输入商品编号:");
goodsNo = input.nextInt();//输入商品编号
System.out.print("请输入商品购买数量:");
amount = input.nextInt();
switch (goodsNo) {
case 1:
name = "T恤";
price = 245.0;
break;
case 2:
name = "网球鞋";
price = 345.0;
break;
case 3:
name = "网球拍";
price = 445.0;
break;
default:
System.out.println("无此商品的信息,请重新选择!!!");
continue;
}
System.out.println(name+"\t"+"¥"+price+ "\t数量"+amount+"\t合计¥"+(price*amount));//输出商品跟商品的价格
System.out.print("是否继续(y/n)");
go = input.next();//重新输入是否选择商品
money=money+ price * amount;//金额累计 合计=商品总价+商品价格*商品的数量
}
// 循环购买商品价结束后,要实现输出
System.out.println("\n折扣:0.8" );
System.out.println("应付金额:" +(money* 0.8));
System.out.print("实付金额:");
payment = input.nextDouble();
while (payment - (money*0.8) < 0) {//实付金额-(合计*折扣)小于0元,将执行循环语句,直到满足消费条件跳出循环
System.out.println("您的金额不足以消费,请重新输入");
System.out.print("实付金额:");
payment = input.nextDouble();
}
System.out.print("找钱:"+(payment-money* 0.8));//找钱金额=实付金额-应付金额
}