实验 2-4 编写程序,模拟购物。
(1) 输入商品名称、单价、数量,计算商品价格,输出商品名称,单价,数量,总价。
(2) 当总价大于或等于500时,享受8折优惠。
(3) 模拟付款找零过程。
(4) 若付款金额不足,需要继续付款。
(5) 购买多件商品时,需要对多件商品的总价进行汇总,得到应付款额,请程序中实现。
==========代码 如下
//高大上代码在此
//一份温暖一份爱,给个关注明天继续来
//@马志勇的博客啊
package 四个题;
import java.text.DecimalFormat;
import java.text.Format;
import java.util.Scanner;
public class A_1_4 {
String name = null;
double price = 0;
int num = 0;
//主函数开始
public static void main(String[] args) {
DecimalFormat dec = new DecimalFormat("###.##");
Scanner sc = new Scanner(System.in);
double sumMoney = 0;
//int n;// 统计买了几件物品;
System.out.println("\t\t\t"+"白露超市");
System.out.println("******************************************************");
System.out.println("[注]:按'#'键结束,按'*'键继续");
//System.out.print("输入物品的种类数:");
//n = sc.nextInt();
A_1_4 arr[] = new A_1_4[10];
int n=0;
System.out.println("------------------------------------------------------");
for (int i = 0; i < arr.length; i++) {
arr[i] = new A_1_4();
System.out.print("物名:");
arr[i].name = sc.next();
System.out.print("单价:");
String str = sc.next();
arr[i].price = Double.parseDouble(str);
System.out.print("数量:");
arr[i].num = sc.nextInt();
System.out.print("('#'or'*'):");
String str1 = sc.next();
char c = str1.charAt(0);
sumMoney = sumMoney + arr[i].price*arr[i].num;
if (c == '#')
break;
n++;
}
if (sumMoney >= 500) {
sumMoney = sumMoney * 0.8;
}
else
sumMoney=sumMoney;
System.out.println("--------------------从这里撕开小票-----------------------");
System.out.println("静十店欢迎你:");
System.out.println(" 名称" + "\t\t" + "单价" + "\t\t" + "数量" + "\t\t" + "价格");
for (int i = 0; i <=n; i++) {
System.out.println(arr[i].name + "\t\t" + arr[i].price + "\t\t" + arr[i].num + "\t\t"
+ dec.format(arr[i].price * arr[i].num));
}
System.out.println("总金额为:" + dec.format(sumMoney));
System.out.print("实收:");
double shishou = sc.nextDouble();
double zhaoling = shishou - sumMoney;
System.out.println("找零:" + dec.format(zhaoling)+"元");
System.out.println("-----------------------------------------------------");
}
}