1. 程式人生 > >一個控制檯的收銀櫃臺收款程式。根據商品單價、購買數量以及收款金額計算並輸出應收金額和找零的小程式。

一個控制檯的收銀櫃臺收款程式。根據商品單價、購買數量以及收款金額計算並輸出應收金額和找零的小程式。

1.一個控制檯的收銀櫃臺收款程式。根據商品單價、購買數量以及收款金額計算並輸出應收金額和找零的小程式第一版本CashierV1.

完整程式碼如下:

package cashier;

import java.util.Scanner;

public class CashierV1 {

	/**
	 * 一個收銀櫃臺收款程式。根據商品單價、購買數量以及收款金額計算並輸出應收金額和找零。
	 */
	public static void main(String[] args) {
		/*
		 * 第一步:根據需求,為這些變數定義一個名字 1.商品單價 price 2.購買數量 number 3.應收金額 totalNumber
		 * 4.實收金額 actualAmounts 5.找零錢 change
		 * 
		 * 第二步:分析邏輯結構
		 * 
		 * totalNumber=price*number; change=actualAmounts-totalNumber;
		 * 
		 * 第三步:開始編碼
		 */
		System.out.println("請輸入商品的單價:");
		Scanner scan = new Scanner(System.in);
		double price = scan.nextDouble();
		System.out.println("請輸入商品的數量:");
		int number = scan.nextInt();
		double totalNumber = price * number;
		System.out.println("收您的現金:");
		double actualAmounts = scan.nextDouble();
		double change = actualAmounts - totalNumber;
		System.out.println("找回您:" + change + "元");

		scan.close();
	}

}


2.根據v1版本,改進了需求,當總價大於500的時候,可以享受8折的優惠。CashierV2版本。

完整程式碼如下:

package cashier;

import java.util.Scanner;

public class CashierV2 {

	/**
	 * 根據v1版本,改進了需求,當總價大於500的時候,可以享受8折的優惠。
	 */
	public static void main(String[] args) {

		/*
		 * totalNumber>500元 ,那麼就可以享受8折
		 */

		System.out.println("請輸入商品的單價:");
		Scanner scan = new Scanner(System.in);
		double price = scan.nextDouble();
		System.out.println("請輸入商品的數量:");
		int number = scan.nextInt();
		double totalNumber = price * number;

		// 進行判斷,當金額大於500元的時候,就可以打折
		if (totalNumber > 500) {
			totalNumber = totalNumber * 0.8;
		}

		System.out.println("收您的現金:");
		double actualAmounts = scan.nextDouble();
		double change = actualAmounts - totalNumber;
		System.out.println("找回您:" + change + "元");

		scan.close();
	}

}

3. 在CashierV2版本上面改進需求,考慮到程式的異常情況:收款金額小於應收金額,給出提示。CashierV3版本。

完整程式碼如下:

package cashier;

import java.util.Scanner;

public class CashierV3 {

	/**
	 * 在CashierV2版本上面改進需求,考慮到程式的異常情況:收款金額小於應收金額,給出提示。
	 */
	public static void main(String[] args) {
		System.out.println("請輸入商品的單價:");
		Scanner scan = new Scanner(System.in);
		double price = scan.nextDouble();
		System.out.println("請輸入商品的數量:");
		int number = scan.nextInt();
		double totalNumber = price * number;

		// 進行判斷,當金額大於500元的時候,就可以打折
		if (totalNumber > 500) {
			totalNumber = totalNumber * 0.8;
		}

		System.out.println("收您的現金:");
		double actualAmounts = scan.nextDouble();
		
		//如果收款金額小於應收金額,那麼給出提示
		
		if(actualAmounts<totalNumber){
			System.out.println("您輸入的資訊有誤!");
		}
		else{
			double change = actualAmounts - totalNumber;
			System.out.println("找回您:" + change + "元");
		}
		scan.close();
	}

}