java實現(xiàn)飲料自助售貨機
本文實例為大家分享了java實現(xiàn)飲料自助售貨機的具體代碼,供大家參考,具體內(nèi)容如下
①用戶類
import java.util.Scanner;
//用戶類
public class User?
{
? ? public static void main(String[] args)//主函數(shù)
? ? {
? ? ? ? Scanner sc = new Scanner(System.in);
? ? ? ? shopping shopping = new shopping();//創(chuàng)建對象
? ? ? ??
? ? ? ? System.out.println("歡迎使用XX大學飲料自動販賣機");//系統(tǒng)提示語
? ? ? ? System.out.println("是否進行購物:1、是\t2、否");//系統(tǒng)提示語
? ? ? ??
? ? ? ? int select = sc.nextInt();//保存客戶輸入的數(shù)字
? ? ? ? if (select == 1)//如果客戶輸入的是“1”也就是需要進行購物
? ? ? ? {
? ? ? ? ? ? shopping.show();//打印商品列表
? ? ? ? ? ? System.out.println("請選擇相應編號!");//提示用于選擇商品
? ? ? ? ? ? int choose = sc.nextInt();//保存客戶輸入的商品編號
? ? ? ? ? ??
? ? ? ? ? ? //邊界限定
? ? ? ? ? ? while (choose > 5 || choose <= 0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? System.out.println("沒有此商品,請重新選擇!");//提示用戶輸入的編碼沒有對應的商品
? ? ? ? ? ? ? ? choose = sc.nextInt();//再次保存客戶輸入的編號
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? ? ? if(choose == 5)//如果是“5”退出購物
? ? ? ? ? ? {
? ? ? ? ? ? ? ? System.out.println("歡迎您下次光臨!");
? ? ? ? ? ? ? ? return ;
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? ? ? System.out.println("請輸入購買數(shù)量!");//提示用戶輸入需要購買的數(shù)量
? ? ? ? ? ? int num = sc.nextInt();//保存用戶需要購買的數(shù)量
? ? ? ? ? ??
? ? ? ? ? ? while (true)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? shopping.shop(choose,num);//調(diào)用購買函數(shù)
? ? ? ? ? ? ? ? System.out.println();
? ? ? ? ? ? ? ? shopping.show();//顯示購買后的商品列表
? ? ? ? ? ? ? ? System.out.println("如繼續(xù)購物,請再次選擇相應編號!");
? ? ? ? ? ? ? ? choose = sc.nextInt();//保存用戶輸入的商品編號
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? //邊界限定
? ? ? ? ? ? ? ? while (choose > 5 || choose <= 0)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? System.out.println("沒有此商品,請重新選擇!");
? ? ? ? ? ? ? ? ? ? choose = sc.nextInt();
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? if(choose == 5)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? System.out.println("歡迎您下次光臨!");
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? System.out.println("請輸入購買數(shù)量");//提示語
? ? ? ? ? ? ? ? num = sc.nextInt();//保存客戶購買數(shù)量
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? else//選擇“2”不進行購物
? ? ? ? {
? ? ? ? ? ? System.out.println("歡迎下次光臨!");
? ? ? ? }
? ? }
}②購買類
//購買類
?class shopping?
?{
?? ?//創(chuàng)建商品
? ? goods beer = new goods("啤酒",3,30);
? ? goods juice = new goods("匯源橙汁",3,20);
? ? goods water = new goods("農(nóng)夫山泉",2,30);
? ? goods coffee = new goods("雀巢咖啡",5,20);
? ? //顯示函數(shù)
? ? public void show()
? ? {
? ? ? ? System.out.println("現(xiàn)還有以下商品供您選擇:");
? ? ? ? System.out.println("1、"+beer.goodsname+"\t價格:"+beer.price+"\t剩余:"+beer.number);
? ? ? ? System.out.println("2、"+juice.goodsname+"\t價格:"+juice.price+"\t剩余:"+juice.number);
? ? ? ? System.out.println("3、"+water.goodsname+"\t價格:"+water.price+"\t剩余:"+water.number);
? ? ? ? System.out.println("4、"+coffee.goodsname+"\t價格:"+coffee.price+"\t剩余:"+coffee.number);
? ? ? ? System.out.println("5、退出購物");
? ? }
? ? //購買函數(shù)
? ? public void shop(int choose,int num)
? ? {
? ? ? ? ? ? switch (choose)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? case 1://如果選擇的是商品“1”
? ? ? ? ? ? ? ? ? ? if(beer.number == 0)//如果當前的庫存為0
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("商品已售完,等待補貨!");//提示用戶商品已售完
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else if(num>beer.number)//如果用戶需要購買的數(shù)量大于庫存的數(shù)量
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("您需要購買的商品庫存不足,請重新選擇!");//提示用戶當前商品庫存不足
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? beer.number = beer.number - num;//更改庫存數(shù)量=購買前的庫存數(shù)量-用戶購買的數(shù)量
? ? ? ? ? ? ? ? ? ? ? ? success();//提示用戶購買成功
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 2://如果選擇的是商品“2”
? ? ? ? ? ? ? ? ? ? if(juice.number == 0)//如果當前的庫存為0
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("商品已售完,等待補貨!");//提示用戶商品已售完
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else if (num>juice.number)//如果用戶需要購買的數(shù)量大于庫存的數(shù)量
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("您需要購買的商品庫存不足,請重新選擇!");//提示用戶當前商品庫存不足
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else?
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ?? ?juice.number = juice.number - num;//更改庫存數(shù)量=購買前的庫存數(shù)量-用戶購買的數(shù)量
? ? ? ? ? ? ? ? ? ? ? ? success();//提示用戶購買成功
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 3://如果選擇的是商品“3”
? ? ? ? ? ? ? ? ? ? if(water.number == 0)//如果當前的庫存為0
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("商品已售完,等待補貨!");//提示用戶商品已售完
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else if (num>water.number)//如果用戶需要購買的數(shù)量大于庫存的數(shù)量
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("您需要購買的商品庫存不足,請重新選擇!");//提示用戶當前商品庫存不足
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else?
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ?? ?water.number = water.number - num;//更改庫存數(shù)量=購買前的庫存數(shù)量-用戶購買的數(shù)量
? ? ? ? ? ? ? ? ? ? ? ? success();//提示用戶購買成功
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 4://如果選擇的是商品“4”
? ? ? ? ? ? ? ? ? ? if(coffee.number == 0)//如果當前的庫存為0
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("商品已售完,等待補貨!");//提示用戶商品已售完
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else if (num>coffee.number)//如果用戶需要購買的數(shù)量大于庫存的數(shù)量
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("您需要購買的商品庫存不足,請重新選擇!");//提示用戶當前商品庫存不足
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else?
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ?? ?coffee.number = coffee.number - num;//更改庫存數(shù)量=購買前的庫存數(shù)量-用戶購買的數(shù)量
? ? ? ? ? ? ? ? ? ? ? ? success();//提示用戶購買成功
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 5://如果輸入的是“5”
? ? ? ? ? ? ? ? ? ? System.out.println("歡迎您下次光臨!");//提示語
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? default://其他
? ? ? ? ? ? ? ? ? ? System.out.println("沒有此商品,請重新選擇");//提示語
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? }
? ? //如果購買成功打印函數(shù)內(nèi)容
? ? public void success()
? ? {
? ? ? ? System.out.println("請選擇你的支付方式");
? ? System.out.println("1、掃碼支付\t2、投幣支付");//系統(tǒng)提示語
? ? Scanner sc = new Scanner(System.in);
int select = sc.nextInt();
if(select == 1)
{
System.out.println("請掃屏幕下方的二維碼進行支付");
? ? ? ? ?? ??? ?System.out.println("購買成功!");
}else if(select==2){
?? ?System.out.println("請投入硬幣");
}
? ? ? ? else
{
System.out.println("歡迎您下次光臨!");
}
? ? }
}③商品類
//商品類
?class goods
?{
? ? String goodsname; ? //商品名稱
? ? double price; ? ? ? //商品價格
? ? int number; ? ? ? ? //商品剩余數(shù)量
? ? //默認初始化商品函數(shù)
? ? public goods()?
? ? {
? ? }
? ??
? ? //初始化商品函數(shù)
? ? public goods(String goodsname, double price, int number)
? ? {
? ? ?? ?this.goodsname = goodsname;
? ? ?? ?this.price = price;
? ? ?? ?this.number = number;
? ? }
?}功能測試
測試可以從以下方面進行:
①顧客開始使用飲料自助售貨機,進入系統(tǒng)主界面:用戶可以根據(jù)界面提示選擇是否開始購物:
②當顧客選擇不購物,那么即將退出系統(tǒng):
③若顧客選擇了購物,那么將進入購物界面,系統(tǒng)將展示所有的商品信息,以供選擇。在商品信息中,根據(jù)商品編號,可以選擇自己想要的商品,假設此時用戶選擇了啤酒,并且購買數(shù)量為15瓶:
④購買完之后進行結(jié)賬,本系統(tǒng)提供兩種結(jié)賬方式,一種是掃碼支付,一種是投幣支付,假設現(xiàn)在顧客選擇了投幣支付:
⑤在顧客第一次買完啤酒后,原本庫存為30現(xiàn)在減少為15,然后現(xiàn)在庫存還剩15,假使此時又有一個顧客需要購買50瓶啤酒,很明顯庫存不夠,那么此時將給出提示,用戶無法完成購買:
⑥加入用戶在購物時選擇了掃碼支付,那么系統(tǒng)將提示用戶掃屏幕下方的支付碼完成支付:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Security中的WebSecurityConfigurerAdapter詳解
這篇文章主要介紹了Security中的WebSecurityConfigurerAdapter詳解,今天我們要進一步的的學習如何自定義配置Spring?Security,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-07-07
IntelliJ IDEA設置代碼的快捷編輯模板Live Templates
今天小編就為大家分享一篇關于IntelliJ IDEA設置代碼的快捷編輯模板Live Templates,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10
Java實戰(zhàn)之電影在線觀看系統(tǒng)的實現(xiàn)
這篇文章主要介紹了如何利用Java實現(xiàn)電影在線觀看系統(tǒng),文中用到的技術(shù)有:JSP、Spring、SpringMVC、MyBatis等,感興趣的可以了解一下2022-04-04
教你使用java將excel數(shù)據(jù)導入MySQL
今天教大家如何使用Java將excel數(shù)據(jù)導入MySQL,文中有非常詳細的代碼示例,對正在學習java的小伙伴呢很有幫助,需要的朋友可以參考下2021-05-05
Maven工程引入依賴失敗Dependencies全部飄紅問題
這篇文章主要介紹了Maven工程引入依賴失敗Dependencies全部飄紅問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08

