實驗 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("-----------------------------------------------------");
}
}