电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

java實現簡單的小超市程序

瀏覽:57日期:2022-08-16 13:13:34

本文實例為大家分享了java實現小超市程序的具體代碼,供大家參考,具體內容如下

一.人物包

1.顧客類

package person;public class Customer { public String name; public double money; public boolean isDrivingCar;}二.超市包

1.小超市類

package supermarket;public class LittleSuperMarket { public String superMarketName; public String address; public int parkingCount; public double incomingSum; public Merchandise[] merchandises; public int[] merchandisesold;}

2.商品類

package supermarket;public class Merchandise { public String name; public String id; public int count; public double soldPrice; public double purchasePrice;}三.主程序

import person.Customer;import supermarket.LittleSuperMarket;import supermarket.Merchandise;import java.util.Scanner;public class Run { public static void main(String[] args) { //通過小超市類創建超市實體 LittleSuperMarket littleSuperMarket = new LittleSuperMarket(); //為超市屬性賦值 littleSuperMarket.address = '世紀大道999號'; littleSuperMarket.superMarketName = '我家超市'; littleSuperMarket.parkingCount = 200; //為超市商品屬性new一個大小為200的數組,類型為Merchandise littleSuperMarket.merchandises = new Merchandise[200]; //創造下標相同的數組記錄相同下標商品的賣出個數 littleSuperMarket.merchandisesold = new int[littleSuperMarket.merchandises.length]; //賦值 for (int i = 0; i < littleSuperMarket.merchandises.length; i++) { //創建類型為merchandise的局部變量m,并為其賦值 Merchandise m = new Merchandise(); m.count = 200; m. + i; m.name = '商品' + i; m.purchasePrice = 200 * Math.random(); m.soldPrice = (1 + Math.random()) * m.purchasePrice; //將每次局部變量的值賦給對應下標的merchandise實體,此時實體merchandise有了值 littleSuperMarket.merchandises[i] = m; } System.out.println('超市開張了!! !'); boolean open = true; Scanner scanner = new Scanner(System.in); while (open) { System.out.println('本店叫做:' + littleSuperMarket.superMarketName); System.out.println('本店地址:' + littleSuperMarket.address); System.out.println('共擁有停車位:' + littleSuperMarket.parkingCount); System.out.println('今天的營業額為:' + littleSuperMarket.incomingSum); System.out.println('共有商品:' + littleSuperMarket.merchandises.length + '種'); //為顧客的屬性賦值 Customer customer = new Customer(); customer.name = '編號:' + ((int) (Math.random() * 500)); customer.isDrivingCar = Math.random() > 0.4; customer.money = (1 + Math.random()) * 10000; //先判斷顧客是否開車 if (customer.isDrivingCar) { System.out.println('歡迎顧客' + customer.name + '號的顧客駕車而來!'); //顧客開車的條件下車位數>0,車位減一,否則重新進入循環(車位小于零,顧客無法停車) if (littleSuperMarket.parkingCount > 0) { littleSuperMarket.parkingCount--; System.out.println('歡迎顧客' + customer.name + '號的顧客光臨' + littleSuperMarket.superMarketName + ',車位剩余' + littleSuperMarket.parkingCount + ',錢包剩余' + customer.money); } else { System.out.println('對不起,停車位已滿,歡迎下次光臨'); continue; } //沒開車,直接進入 } else { System.out.println('歡迎顧客' + customer.name + '號的顧客光臨' + littleSuperMarket.superMarketName + '錢包剩余' + customer.money); } //在購買流程外部創建變量統計總共花費和購買數量 double totalCast = 0; int numToBuy; //購買循環 while (true) { System.out.println('本店提供' + littleSuperMarket.merchandises.length + '種商品,歡迎選購。請輸入商品編號:'); int InDex = scanner.nextInt(); //對商品索引的合法性進行檢測 if (InDex <= 0) { break; } if (InDex > littleSuperMarket.merchandises.length - 1) { System.out.println('對不起,本店沒有那么多商品。請輸入0到' + (littleSuperMarket.merchandises.length - 1) + '之間的數字'); continue; } System.out.println('您選購的商品的名字是:' + littleSuperMarket.merchandises[InDex].name + 't售價為:' + littleSuperMarket.merchandises[InDex].soldPrice); System.out.println('請問你要買幾個?'); numToBuy = scanner.nextInt(); //對購買數量的合法性進行檢測 if (numToBuy <= 0) { System.out.println('不買看看也好,歡迎繼續選購'); continue; } if (numToBuy > littleSuperMarket.merchandises[InDex].count) { System.out.println('本店沒有那么多商品,歡迎繼續挑選'); continue; } /*其實這里的邏輯不太好,但是懶得改了,等再學習一段時間再好好完善這個小程序。這里把花費放在購買循環外面才是比較好的邏輯,然后在這里用if循環判斷購買的一系列合法性即可。 或者把售賣個數的屬性也在這里改變賦值會容易懂,我這里放到后面了,懶得改了。等下次優化功能時再整體優化邏輯 */ //輸入合法,求總共花費,并對商品庫存進行相應的扣除 totalCast += littleSuperMarket.merchandises[InDex].soldPrice * numToBuy; littleSuperMarket.merchandises[InDex].count -= numToBuy; //仍然屬于合法性檢測,檢測顧客的錢是否夠支付他所購買商品的總價 if (customer.money < totalCast) { System.out.println('對不起,您身上的錢不足以支付您的商品,歡迎下次選購'); //錢不足以支付,對應商品的數量再把剛才購買但未成功支付的商品數量歸還 //就像你在超市里買東西,放進購物車了,貨架上超市庫存少了,其他顧客拿不到了,等你支付時錢不夠,商品被放回,其他顧客可以拿到的數量增加,即商品庫存增加 littleSuperMarket.merchandises[InDex].count += numToBuy; //這一段當時寫的時候我也比較亂 //因為總價計算在外面了,此時總價已將超出了你的錢數循環從這里出去如果總價不置零,你的錢數一直小于總價,該顧客一直無法購買商品 totalCast = 0; } else { //正確購買,售出數量對應增加,顧客口袋里的錢對應減少 littleSuperMarket.merchandisesold[InDex] += numToBuy; customer.money -= totalCast; //開車來的話,顧客離開,車位釋放 if (customer.isDrivingCar) { littleSuperMarket.parkingCount++; } } } littleSuperMarket.incomingSum += totalCast; //每次循環結束,該人總錢數得出將該人的totalCast累加到littleSuperMarket.incomingSum中,得出總共收入 //littleSuperMarket.incomingSum和totalIncoming數值相等,基本為同一意思 //littleSuperMarket.incomingSum += totalCast; System.out.println('顧客' + customer.name + '號的顧客共消費' + totalCast + ',還剩余' + customer.money); System.out.println('今天還要繼續營業嗎?'); open = scanner.nextBoolean(); } System.out.println('超市關門了!'); System.out.println('今天總的營業額為' + littleSuperMarket.incomingSum + '營業情況如下:'); //定義總收入和總凈利潤 double totalNetIncoming = 0; double totalIncoming = 0; for (int i = 0; i < littleSuperMarket.merchandisesold.length; i++) { //只統計售出數量大于0的商品 if (littleSuperMarket.merchandisesold[i] > 0) { //計算總利潤和總凈利潤,通過累加求得 double incoming = littleSuperMarket.merchandises[i].soldPrice * littleSuperMarket.merchandisesold[i]; double netIncoming = (littleSuperMarket.merchandises[i].soldPrice - littleSuperMarket.merchandises[i].purchasePrice) * littleSuperMarket.merchandisesold[i]; totalIncoming += incoming; totalNetIncoming += netIncoming; System.out.println(littleSuperMarket.merchandises[i].name + '售出了' + littleSuperMarket.merchandisesold[i] + '個。銷售額為' + incoming + ',凈利潤為' + netIncoming); } } System.out.println('今日總銷售額為:' + totalIncoming + ';今日總凈利潤為:' + totalNetIncoming); }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 全自动包装机_灌装机生产厂家-迈驰包装设备有限公司 | CE认证_产品欧盟ROHS-REACH检测机构-商通检测 | 不锈钢水管-不锈钢燃气管-卫生级不锈钢管件-不锈钢食品级水管-广东双兴新材料集团有限公司 | 收录网| 氧氮氢联合测定仪-联测仪-氧氮氢元素分析仪-江苏品彦光电 | 船用泵,船用离心泵,船用喷射泵,泰州隆华船舶设备有限公司 | 瓶盖扭矩仪(扭力值检测)-百科 | 浙江富广阀门有限公司| 继电器模组-IO端子台-plc连接线-省配线模组厂家-世麦德 | 深圳活动策划公司|庆典策划|专业公关活动策划|深圳艺典文化传媒 重庆中专|职高|技校招生-重庆中专招生网 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 肉嫩度仪-凝胶测试仪-国产质构仪-气味分析仪-上海保圣实业发展有限公司|总部 | 餐饮小吃技术培训-火锅串串香培训「何小胖培训」_成都点石成金[官网] | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 广东燎了网络科技有限公司官网-网站建设-珠海网络推广-高端营销型外贸网站建设-珠海专业h5建站公司「了了网」 | 杭州|上海贴标机-百科 | 电机修理_二手电机专家-河北豫通机电设备有限公司(原石家庄冀华高压电机维修中心) | 无锡网站建设_企业网站定制-网站制作公司-阿凡达网络 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 工控机,嵌入式主板,工业主板,arm主板,图像采集卡,poe网卡,朗锐智科 | 翅片管散热器价格_钢制暖气片报价_钢制板式散热器厂家「河北冀春暖气片有限公司」 | 立式_复合式_壁挂式智能化电伴热洗眼器-上海达傲洗眼器生产厂家 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 钢格栅板_钢格板网_格栅板-做专业的热镀锌钢格栅板厂家-安平县迎瑞丝网制造有限公司 | 包头市鑫枫装饰有限公司 | 广东机电安装工程_中央空调工程_东莞装饰装修-广东粤标建设有限公司 | 乙炔气体报警装置|固定式氯化氢检测仪|河南驰诚电气百科 | 众品地板网-地板品牌招商_地板装修设计_地板门户的首选网络媒体。 | 小港信息港-鹤壁信息港 鹤壁老百姓便民生活信息网站 | 裹包机|裹膜机|缠膜机|绕膜机-上海晏陵智能设备有限公司 | 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 电液推杆生产厂家|电动推杆|液压推杆-扬州唯升机械有限公司 | 无轨电动平车_轨道平车_蓄电池电动平车★尽在新乡百特智能转运设备有限公司 | 清洁设备_洗地机/扫地机厂家_全自动洗地机_橙犀清洁设备官网 | 美甲贴片-指甲贴片-穿戴美甲-假指甲厂家--薇丝黛拉 | 湖南成人高考报名-湖南成考网| 科威信洗净科技,碳氢清洗机,超声波清洗机,真空碳氢清洗机 | 工业rfid读写器_RFID工业读写器_工业rfid设备厂商-ANDEAWELL | 耐高温电缆厂家-远洋高温电缆 | 活动策划,舞台搭建,活动策划公司-首选美湖上海活动策划公司 |