1. 程式人生 > >面向物件程式設計--超市小票java

面向物件程式設計--超市小票java

將超市小票用面向物件的思想寫出來。

小票樣例:
這就是我程式碼的小票樣例了
這次的小票中,我定義了三個類,N,Good,Massage。

import java.text.SimpleDateFormat;
import java.util.Date;//時間函式的包

public class N {
	public static void main(String args[]) {
		//小票開頭資訊
		Message t=new Message();
		t.storeName="杉木文化";
		System.out.printf("%33s\n",t.storeName);
		t.setDeviceNumber(123);
		t.setCashierNumber(1004);
		System.out.printf("機號:%d       收銀員:%d\n",t.getDeviceNumber(),t.getCashierNumber());
		t.setOddNumber(123196275);
		System.out.printf("單號:%d\n",t.getOddNumber());
		System.out.println("品名\t"+"\t單價"+"\t數量"+"\t金額");
		System.out.println("-------------------------------------");
	//商品資訊
		Good[] goods=new Good[2];
		goods[0]=new Good("康師傅泡椒牛肉麵",2.5,2);
		goods[1]=new Good("可口可樂汽水",3,1);
		for(int i=0;i<goods.length;i++) {
			System.out.printf("%14s%18.2f%8d%10.2f\n",goods[i].getGoodName(),goods[i].getGoodPrice(),
							goods[i].getGoodNumber(),goods[i].getTotalPrice());
		}	
		System.out.println("-------------------------------------------");
	
		int totalNumber=0;//總數量
		double totalMoney=0.00;//總金額
		for(int i=0;i<goods.length;i++) {
			totalNumber+=goods[i].getGoodNumber();
			totalMoney+=goods[i].getTotalPrice();
		}
		System.out.println("總數量:"+totalNumber+"\t\t\t"+"總金額:"+totalMoney);
		double money=8.00;//實際收的錢
		int m=1; 
		switch(m) {
			case 1:
				System.out.println("現金:"+money);
				System.out.println("實收:"+money+"\t\t\t回找:"+(money-totalMoney));break;
			case 2:
				System.out.println("\t微信:"+money+"\t\t\t回找:"+(money-totalMoney));break;
			case 3:
				System.out.println("\t支付寶:"+money+"\t\t\t回找:"+(money-totalMoney));break;
			default:
				System.out.println("請重新輸入:");break;
		}
		
		Date now = new Date(); 
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");//可以方便地修改日期格式
		String hehe = dateFormat.format( now ); 
		System.out.println("時間:"+hehe); 
		System.out.println("請保留好小票!以便查詢!");
	}
}
class Good {
	private String goodName;
	private double goodPrice;
	private int goodNumber;
	private double totalPrice=0.00;
	
	public Good(String goodName, double goodPrice, int goodNumber) {
		super();
		this.goodName = goodName;
		this.goodPrice = goodPrice;
		this.goodNumber = goodNumber;
	}
	
	public String getGoodName() {
		return goodName;
	}
	public double getGoodPrice() {
		return goodPrice;
	}
	public int getGoodNumber() {
		return goodNumber;
	}
	public double getTotalPrice() {
		totalPrice=goodPrice*goodNumber;
		return totalPrice;
	}
	
}

class Message {
	String storeName;
	private int deviceNumber;//機號
	private int cashierNumber;//收銀員
	private int oddNumber;//單機
	
	public int getCashierNumber() {
		return cashierNumber;
	}
	public void setCashierNumber(int cashierNumber) {
		this.cashierNumber = cashierNumber;
	}
	public int getDeviceNumber() {
		return deviceNumber;
	}
	public void setDeviceNumber(int deviceNumber) {
		this.deviceNumber = deviceNumber;
	}
	public int getOddNumber() {
		return oddNumber;
	}
	public void setOddNumber(int oddNumber) {
		this.oddNumber = oddNumber;
	}
	
}

這個是執行效果後面會持續更新小票的程式碼,將會考慮更多的因素進去。