1. 程式人生 > >Java---------超市管理系統

Java---------超市管理系統

定義超市物件陣列  還是一個一個輸入

不過今天Java課    Scanner sc=new Scanner(new File("f:\\a.txt"));

語句可以實現在文字中匯入資料    下次再嘗試完善一下吧^_^

感覺和C++的也差不多

import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.Scanner;

public class TickstingManagmentSystem {

	
	public static void main(String[] args) {
		
		
		
		//定義超市列表物件陣列
		Goods[] s =new Goods[6];
		//超市商品列表
		//牛奶
		 Goods milk = new Goods();
		milk.name="牛奶";
		milk.number=101;
		milk.price=3.0;
		milk.unit="袋";
		s[0]=milk;
		//餅乾
		Goods cookie =new Goods();
		cookie.name="餅乾";
		cookie.number=102;
		cookie.price=23.0;
		cookie.unit="盒";
		s[1]=cookie;
		//蘋果
		Goods apple =new Goods();
		apple.name="蘋果";
		apple.number=103;
		apple.price=3.2;
		apple.unit="Kg";
		s[2]=apple;
		//梨
		Goods pea =new Goods();
		pea.name="香梨";
		pea.number=104;
		pea.price=2.65;
		pea.unit="Kg";
		s[3]=pea;
		//香蕉
		Goods banana =new Goods();
		banana.name="香蕉";
		banana.number=105;
		banana.price=6.8;
		banana.unit="Kg";
		s[4]=banana;
		//石榴
		Goods pomegranate =new Goods() ;
		pomegranate.name="石榴";
		pomegranate.number=106;
		pomegranate.price=7.2;
		pomegranate.unit="Kg";
		s[5]=pomegranate;
		
		 double payPrice=0;
		//操作首頁
		System.out.println("             超市票務管理系統");
		System.out.println("本超市商品清單如下:");
		System.out.println("------------------------");
		System.out.println("編號       "+"名稱            "+"單價          "+"單位       ");
		int i;
		for(i=0;i<6;i++)
		{
		System.out.printf("%-1.0f  %-2s  %14.2f  %2s ",s[i].number,s[i].name,s[i].price,s[i].unit);
		System.out.println();
		}
		System.out.println("------------------------");
		
	    //操作型別
		System.out.println("歡迎光臨!!!小管 很高興為您服務^_^");
		System.out.println("祝您購物愉快喲(づ ̄3 ̄)づ╭❤~");
		System.out.println("請選擇您的操作:");
		System.out.println("     1.開始購物");
		System.out.println("     2.結賬");
		System.out.println("     3.列印商品清單");
		System.out.println("     0.退出系統");
		
		//輸入操作編號
		int n = 0;
		@SuppressWarnings("resource")
		Scanner sc=new Scanner(System.in);
		System.out.printf("請輸入操作編號:",n);
		n=sc.nextInt();
     while(n!=0)
     {
        if(n==1)//開始購物
        {
        	double  m = 0 ;//購買商品編號
        	System.out.printf("請輸入你需要購買的商品編號(0退出):",m);
            m=sc.nextDouble();
            
           for(i=0;m!=0;i++)
           {
        	   if(m>106|m<101)
        		   System.out.println("       親!本店沒有該商品呢-_-|| ");
        	   else {
            	System.out.println("您選擇的商品是:名稱:"+s[(int) (m-101)].name+"  編號:"+(int)s[(int) (m-101)].number+"  單價: "+s[(int) (m-101)].price+"  單位:"+s[(int) (m-101)].unit);
            	System.out.printf("請輸入購買數量:",s[(int) (m-101)].amount);
            	s[(int) (m-101)].amount=sc.nextDouble();
            	s[(int) (m-101)].total=s[(int) (m-101)].price*s[(int) (m-101)].amount;
            	System.out.println("名稱:"+s[(int) (m-101)].name+"  編號:"+(int)s[(int) (m-101)].number+"  單價:"+s[(int) (m-101)].price+"  單位:"+s[(int) (m-101)].unit+"  數量:"+s[(int) (m-101)].amount+"  價錢:"+(double)Math.round(s[(int) (m-101)].total*100)/100);
        	    }
            	System.out.printf("請輸入你需要購買的商品編號(0退出):",m);
                m=sc.nextDouble();
         
           }
          
        }
        if(n==2)//結賬
        {
        	
        	System.out.println("--------萬德隆超市--------");
        	double totalPrice=0;//商品總價
        	double totalAmount=0;//商品總數量
        	
        	for(i=0;i<6;i++)
        	{
        		if(s[i].total!=0)
        			{
        			totalPrice=totalPrice+s[i].total;
        			totalAmount=totalAmount+s[i].amount;
        			}
        	}
        	//折扣
        	double totalRedution;
        	if(totalPrice>0&totalPrice<=100)
        		totalRedution=0;
        	else if(totalPrice>100&totalPrice<=200)
        		totalRedution=totalPrice*0.1;
        	else if(totalPrice>300&totalPrice<=300)
        		totalRedution=totalPrice*0.2;
        	else {
				totalRedution=totalPrice*0.3;
			}
        	if(totalPrice==0)
        	{
        		System.out.println("親!您還沒有購買任何商品奧,請先選擇商品哈 ̄ω ̄||");
        	}
        	else {
				
        	//實付金額
        	double actualPrice;
        	actualPrice=totalPrice-totalRedution;
        	System.out.println("您一共購買了"+(int)totalAmount+"件商品");
        	//支付方式
        	System.out.println("支付方式有:1.支付寶    2.微信     3.刷卡     4.現金");
        	String way[]={"支付寶","微信","刷卡","現金"};
        	int p=0;
        	System.out.printf("請選擇您的支付方式:",p);
        	p=sc.nextInt();
        	System.out.println("您的支付方式為"+"-----"+way[p-1]);
        	//支付金額
 	       
 	        System.out.printf("您的付款金額為:",payPrice);
 	        payPrice=sc.nextDouble();
 	        if(payPrice<totalPrice)
 	        {
 	        	System.out.printf("真是抱歉,請重新輸入付款金額:",payPrice);
 	            payPrice=sc.nextInt();
 	        }
 	        System.out.println("您的優惠金額為:"+(double)Math.round(totalRedution*100)/100+"元");
 	        System.out.println("您的實付金額為:"+(double)Math.round(actualPrice*100)/100+"元");
 	        //找零
 	        double changePrice=payPrice-actualPrice;
 	        System.out.println("您的找零金額為:"+(double)Math.round(changePrice*100)/100+"元");
 	        System.out.println("-------------------------");
 	        System.out.println("萬德隆超市感謝您的光臨^_^");
 	       }
 	 
        }
        if(n==3)//列印商品清單
        {
        	double totalPrice=0;//商品總價
        	double totalAmount=0;//商品總數量
        	
        	for(i=0;i<6;i++)
        	{
        		if(s[i].total!=0)
        			{
        			totalPrice=totalPrice+s[i].total;
        			totalAmount=totalAmount+s[i].amount;
        			}
        	}
        	//折扣
        	double totalRedution;
        	if(totalPrice>0&totalPrice<=100)
        		totalRedution=0;
        	else if(totalPrice>100&totalPrice<=200)
        		totalRedution=totalPrice*0.1;
        	else if(totalPrice>300&totalPrice<=300)
        		totalRedution=totalPrice*0.2;
        	else {
				totalRedution=totalPrice*0.4;
			}
        	//實付金額
        	
			double actualPrice;
        	actualPrice=totalPrice-totalRedution;
        	//找零
 	        double changePrice=payPrice-actualPrice;
 	        
        	//列印頂部
        	System.out.println("-------------------------");
        	System.out.println("本人確認以上交易,同意將其計入本卡賬戶");
        	System.out.println("       萬德隆南師店");
        	System.out.println("收銀員:1094    "+"收銀機號:007");
        	SimpleDateFormat df = new SimpleDateFormat("日期:yyyy-MM-dd 時間:HH:mm:ss");//設定日期格式
        	System.out.println(df.format(new Date(n)));
        	//列印中部
        	System.out.println("-------------------------");
        	System.out.println("商品編號    "+"商品名稱"+"  數量"+"*"+"單價"+"      小計");
        	for(i=0;i<6;i++)
    		{
        		if(s[i].total!=0)
        		{
    		      System.out.println((int)s[i].number+"    "+s[i].name+"        "+s[i].amount+"*"+s[i].price+"  "+(double)Math.round(s[i].total*100)/100);
    		      System.out.println();
        		}
    		}
        	System.out.println("-------------------------");
        	System.out.println("支付金額:"+payPrice   );
        	System.out.println("合計金額:"+totalPrice+"    總折扣:"+totalRedution);
        	System.out.println("實付金額:"+actualPrice);
        	System.out.println("找零:"+(double)Math.round(changePrice*100)/100+"元");
            System.out.println("--------------------------");
            System.out.println("      請保管好您的購物小票");
            System.out.println("    購物小票是您退款換貨的憑證");
            System.out.println("   請憑此票到購物臺開取發票^_^");
        }
    
   	    System.out.println();
        System.out.println("歡迎光臨!!!小管 很高興為您服務^_^");
        System.out.println("祝您購物愉快喲(づ ̄3 ̄)づ╭❤~");
		System.out.println("請選擇您的操作:");
	    System.out.println("     1.開始購物");
		System.out.println("     2.結賬");
		System.out.println("     3.列印商品清單");
		System.out.println("     0.退出系統");
        System.out.printf("請輸入操作編號:",n);
        n=sc.nextInt();
	}
     System.out.println("本次服務已結束^_^");
     System.out.println("           歡迎下次光臨ヾ(o´∀`o)ノ ");
     System.out.println("您的滿意是我們服務的宗旨!!!");
   }
}

我果然還是太菜─━ _ ─━✧

 

嚯嚯嚯

差點忘記了  還有個class

public class Goods {

	String name;//商品名稱
	double number;//商品編號
    double price;//商品單價
    String unit;//商品單位
    double amount;//商品數量
    double total;//商品合計
}