需求:结算时打印购物小票,将小票以商品名称、单价、数量、小计金额形式展示。
思路:从客户端输入购买的数量以及付款金额,求出小计金额、折扣后金额、所找金额。
package Shopping;
import java.util.Scanner;
public class Price {
public static void main(String[] args) {
System.out.println("商品名称\t单价\t数量\t小计");
int T = 245; //定义T恤的单价为245元
int wqx = 570; //定义网球鞋的单价为245元
int wqp = 320; //定义网球拍的单价为245元
double price; //定义打折后价格为浮点型
Scanner input = new Scanner(System.in);
System.out.print("请输入T恤数量:");
int count1 = input.nextInt(); //从控制台输入T恤数量
System.out.printf("T恤\t¥%d\t%d\t¥%d\n",T,count1,count1*T); //计算T恤小计金额并打印T恤清单
System.out.print("请输入网球鞋数量:");
int count2 = input.nextInt(); //从控制台输入网球鞋数量
System.out.printf("网球鞋\t¥%d\t%d\t¥%d\n",wqx,count2,count2*wqx);//计算网球鞋小计金额并打印网球鞋清单
System.out.print("请输入网球拍数量:");
int count3 = input.nextInt(); //从控制台输入网球拍数量
System.out.printf("网球拍\t¥%d\t%d\t¥%d\n",wqp,count3,count3*wqp);//计算网球拍小计金额并打印网球拍清单
int sum =count1*T + count2*wqx + count3*wqp;
System.out.println("折扣:\t\t8折"); //折扣
price = (double)sum * 0.8; //定义变量强制转换为浮点型,为打折后应收取客户金额
System.out.printf("消费总金额:\t¥%s\n",price); //输出应收取客户金额
System.out.print("实际交费:\t\t¥");
int money = input.nextInt(); //从控制台输入客户付款金额
double money1 = money-price; //定义找零金额为浮点型
System.out.printf("找钱:\t\t¥%s",money1); //输出找零金额
}
}
显示结果为:
商品名称 单价 数量 小计
请输入T恤数量:1 (需控制台输入)
T恤 ¥245 1 ¥245
请输入网球鞋数量:2(需控制台输入)
网球鞋 ¥570 2 ¥1140
请输入网球拍数量:3(需控制台输入)
网球拍 ¥320 3 ¥960
折扣: 8折
消费总金额: ¥1876.0
实际交费: ¥1900(需控制台输入)
找钱: ¥24.0