日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

Java基于字符界面的簡易收銀臺

瀏覽:37日期:2022-08-09 17:45:51

用Java實現簡易收銀臺,供大家參考,具體內容如下

簡易收銀臺的實現并不難,主要實現這幾個類:

商品類 Goods (將商品根據編號,名稱,價格存放) 商品中心類 GoodsCenter (存放商品,可以添加商品,下架商品,修改商品信息,判斷商品是否存在或者貨架已滿,打印商品等功能) 訂單類 Order (處理訂單,主要實現買單功能,下單,計算總價) 功能實現

初始化界面

Java基于字符界面的簡易收銀臺

商品上架

Java基于字符界面的簡易收銀臺

修改商品信息

Java基于字符界面的簡易收銀臺

下架商品

Java基于字符界面的簡易收銀臺

返回并進入買單功能

Java基于字符界面的簡易收銀臺

選擇商品及數量進行買單

Java基于字符界面的簡易收銀臺

取消訂單

Java基于字符界面的簡易收銀臺

查看訂單

Java基于字符界面的簡易收銀臺

返回并退出

Java基于字符界面的簡易收銀臺

功能分析

Java基于字符界面的簡易收銀臺

代碼展示

package com.bittech; import java.time.LocalDate;import java.util.Scanner; /** * Author:weiwei * description: * Creat:2019/5/5 **/public class CheckStand { public static Scanner scanner = new Scanner(System.in); public static void helpInfo() {System.out.println('==============歡迎使用簡易收銀臺=============');System.out.println(' [U]使用 [S]設置 [A]關于 [Q]退出 ');System.out.println(' 輸入 U S A Q 進行操作 ');System.out.println('============================================'); } public static void quit() {System.out.println('===========================================');System.out.println('歡迎下次使用');System.out.println('===========================================');System.exit(0); } public static void usageInfo() {System.out.println('================買單功能====================');System.out.println(' [S]查看 [A]下單 [D]取消 [L]瀏覽 [R]返回');System.out.println(' 輸入 S A D L R 進行操作 ');System.out.println('==========================================='); } public static void about() {System.out.println('==================關于=====================');System.out.println(' 名稱:簡易收銀臺 ');System.out.println(' 功能:基于字符界面的收銀臺操作 ');System.out.println(' 作者:weiwei ');System.out.println(' 版本:v0.0.1 ');System.out.println(' 意見反饋:liusz0501@163.com ');System.out.println('=========================================='); } public static void settingInfo() {System.out.println('=================設置功能==================');System.out.println(' [S]查看 [A]上架 [D]下架 [U]修改 [R]返回 ');System.out.println(' 輸入 S A D U R 進行操作 ');System.out.println('==========================================='); } public static void usage() {usageInfo();GoodsCenter.printGoods();Order order = new Order();while(true){ String line = scanner.nextLine(); switch(line.trim()){case 'S':{ order.printOrder(); break;}case 'A':{ System.out.println('請輸入下單信息[編號][數量] (格式如:1 2 ):'); String value = scanner.nextLine(); String[] infoArray = value.split(' '); if(infoArray != null && (infoArray.length == 2)){Goods goods = GoodsCenter.getGoods(Integer.parseInt(infoArray[0]));if(goods != null){ order.add(goods,Integer.parseInt(infoArray[1])); order.printOrder(); break;} } System.out.println('請按照格式要求輸入信息'); break;}case 'D':{ System.out.println('請輸入取消信息[編號 數量](如下格式:1 2 ):'); String value = scanner.nextLine(); String[] infoArray = value.split(' '); if (infoArray != null && (infoArray.length == 2)) {Goods goods = GoodsCenter.getGoods(Integer.parseInt(infoArray[0]));if (goods != null) { order.cance(goods, Integer.parseInt(infoArray[1])); order.printOrder(); break;} } System.out.println('請按照格式要求輸入信息'); break;}case 'L': { GoodsCenter.printGoods(); break;}case 'R': { return;}default: { usageInfo();} }} } public static void setting() {settingInfo();if (GoodsCenter.isFull()) { System.out.println('!當前商品貨架已經滿了,如果要進行添加請下降部分商品');}while (true) { String line = scanner.nextLine(); switch (line.toUpperCase()) {case 'S': { GoodsCenter.printGoods(); break;}case 'A': { System.out.println('請輸入上架商品信息(如下格式:1 餐巾紙 1.4):'); Goods goods = readGoods(); if (goods == null) {System.out.println('!請按照格式要求輸入信息');break; } if (GoodsCenter.isFull()) {System.out.println('!當前商品貨架已經滿了,如果要進行添加請下降部分商品'); } else if (GoodsCenter.isExist(goods)) {System.out.println('!上架商品已經存在,注意編號不能重復'); } else {GoodsCenter.addGoods(goods);GoodsCenter.printGoods(); } break;}case 'D': { System.out.println('請輸入下架商品信息編號(如下格式:1 ):'); Goods goods = readGoods(); if (goods == null) {System.out.println('請按照格式要求輸入信息');break; } if (GoodsCenter.isPutaway(goods)) {GoodsCenter.soldOutGoods(goods);GoodsCenter.printGoods(); } else {System.out.println('請選擇上架的商品編號,當前下架商品未設置'); } break;}case 'U': { System.out.println('請輸入修改商品信息(如下格式:1 餐巾紙 1.4 )'); Goods goods = readGoods(); if (goods == null) {System.out.println('請按照格式要求輸入信息');break; } if (GoodsCenter.isPutaway(goods)) {GoodsCenter.modifyGoods(goods);GoodsCenter.printGoods(); } else {System.out.println('請選擇上架的商品編號,當前修改商品未設置'); } break;}case 'R': { return;}default: { settingInfo();} }} } public static Goods readGoods() {String value = scanner.nextLine();String[] infoArray = value.split(' ');if (infoArray != null && (infoArray.length == 3 || infoArray.length == 1)) { if (infoArray.length == 3) {Goods goods = new Goods(Integer.parseInt(infoArray[0]), infoArray[1], Double.parseDouble(infoArray[2]));return goods; } if (infoArray.length == 1) {Goods goods = new Goods(Integer.parseInt(infoArray[0]), '', 0.0D);return goods; }}return null; } public static void main(String[] args) {helpInfo();while (true) { String line = scanner.nextLine(); switch (line.trim().toUpperCase()) {case 'U': usage(); helpInfo(); break;case 'S': setting(); helpInfo(); break;case 'A': about(); break;case 'Q': quit(); break;default: helpInfo(); }} }}

GoodsCenter類

class GoodsCenter { //商品占位符 private static String placeholder = '--'; //最大商品數量 private static int maxGoods = 10; //商品容器 private static Goods[] goodsArray; //初始化商品容器 static {goodsArray = new Goods[maxGoods];for (int i = 0; i < goodsArray.length; i++) { goodsArray[i] = new Goods(i + 1, '--', 0.0D);} } private GoodsCenter() { } public static int getMaxGoods() {return maxGoods; } //添加商品 public static void addGoods(Goods goods) {for (int i = 0; i < goodsArray.length; i++) { Goods temp = goodsArray[i]; if (temp.getId() == goods.getId()) {temp.setName(goods.getName());temp.setPrice(goods.getPrice());break; }} } //下架商品 public static void soldOutGoods(Goods goods) {for (int i = 0; i < goodsArray.length; i++) { Goods temp = goodsArray[i]; if (temp.getId() == goods.getId()) {temp.setName(placeholder);temp.setPrice(0.0D);break; }} } //修改商品 public static void modifyGoods(Goods goods) {for (int i = 0; i < goodsArray.length; i++) { Goods temp = goodsArray[i]; if (temp.getId() == goods.getId()) {temp.setName(goods.getName());temp.setPrice(goods.getPrice());break; }} } //商品是否存在 public static boolean isExist(Goods goods) {for (int i = 0; i < goodsArray.length; i++) { Goods temp = goodsArray[i]; if (temp.getId() == goods.getId() && temp.getName().equals(goods.getName())) {return true; }}return false; } //商品位是否存在商品 public static boolean isPutaway(Goods goods) {for (int i = 0; i < goodsArray.length; i++) { Goods temp = goodsArray[i]; if (temp.getId() == goods.getId() && !temp.getName().equals(placeholder)) {return true; }}return false; } //商品已滿 public static boolean isFull(){for(int i =0;i<goodsArray.length;i++){ if(goodsArray[i].getName().equals(placeholder)){return false; }}return true; } public static Goods getGoods(int id){for(int i = 0;i<goodsArray.length;i++){ Goods temp = goodsArray[i]; if(temp.getId() == id && !temp.getName().equals(placeholder)){return goodsArray[i]; }}return null; } //打印商品 public static void printGoods(){System.out.println('=============商品清單================');System.out.println('t' + '編號' + 't' +'產品名稱' + 't' + '單價');for(int i = 0;i<goodsArray.length;i++){ Goods temp = goodsArray[i]; String name = temp.getName(); if(name.equals(placeholder)){name = name + '[未上架]'; } System.out.println('t' + temp.getId() + 't' + temp.getName() + 't' + temp.getPrice());}System.out.println('========================================='); }}

Goods類

class Goods{ //商品編號 private int id; //商品名稱 private String name; //商品價格 private double price; public Goods(int id,String name,double price){this.id = id;this.name = name;this.price = price; } public int getId(){return this.id; } public int getIndex(){return this.getId()-1; } public String getName(){return this.name; } public void setName(String name) {this.name = name; } public double getPrice(){return this.price; } public void setPrice(double price) {this.price = price; } @Override public String toString(){return String.format('[%2d] %s %.2f',this.getId(),this.getName(),this.getPrice()); }}

Order類

class Order{ private static int orderId = 0; private int id; private Goods[] items; private int[] itmesNumber; private int currentIndex; public Order(){this.id = ++orderId;this.items = new Goods[GoodsCenter.getMaxGoods()];this.itmesNumber = new int[GoodsCenter.getMaxGoods()];this.currentIndex = -1; } public void add(Goods goods,int count){int index = goods.getIndex();this.items[index] = goods;this.itmesNumber[index] += count; } public void cance(Goods goods,int count){int index = goods.getIndex();int value = this.itmesNumber[index]-count;if(value > 0){ this.itmesNumber[index] = value;}else{ this.items[index] = null; this.itmesNumber[index] = 0;} } public int getSize(){return this.currentIndex+1; } public double getTotalPrice(){double tatalPrivce = 0;for(int i =0;i<this.items.length;i++){ Goods goods = this.items[i]; if(goods != null){tatalPrivce += (this.itmesNumber[goods.getIndex()] * goods.getPrice()); }}return tatalPrivce; } public int getId(){return this.id; } public void printOrder(){System.out.println('========================');System.out.println('編號' + this.getId() );System.out.println('打印時間' + LocalDate.now().toString());System.out.println('========================');System.out.println('編號 名稱 數量 單價');for(int i = 0;i<this.items.length;i++){ Goods goods = this.items[i]; if(goods != null){int count = this.itmesNumber[goods.getIndex()];if(count <= 0){ continue;}System.out.println(String.format('%2dt%st%dt%.2f',goods.getId(),goods.getName(),count,goods.getPrice() )); }}System.out.println('=========================');System.out.println(String.format('總價:%2f',this.getTotalPrice()));System.out.println('========================='); }}項目總結 用常用String類,Scanner類實現,代碼量不多,簡單易懂 有弊端存在,就是用數組存放商品,容易出現數組越界異常,而且如果商品多的話用數組存儲也是極其不方便的 還有就是未使用到數據庫,商品信息,訂單信息的保存有很多不方便的地方,如果建立連接了數據庫,這個問題就解決了

目前能力只能實現到這了,希望可以再努力一下,將數據庫加入到項目中,讓它的易用性再提升更多。

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

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费人成精品欧美精品| 国产精品蜜月aⅴ在线| 久久不卡日韩美女| 欧美私人啪啪vps| 日韩av二区在线播放| 亚洲一二av| 日韩在线成人| 国产乱子精品一区二区在线观看| 亚洲三级精品| 亚洲va久久| 日本久久一区| 国产欧美自拍一区| 精品久久久网| 美女网站视频一区| 亚洲精品国产偷自在线观看| 久久亚洲国产精品一区二区| 亚洲1区在线| 久久福利在线| 中文在线а√天堂| 韩日一区二区三区| 蜜臀a∨国产成人精品| 日韩高清电影一区| 欧美精品1区| av中文资源在线资源免费观看| 日本免费一区二区三区四区| 在线成人直播| 清纯唯美亚洲综合一区| 精品国产乱码| 久久精品av| 亚洲另类视频| 久久久久97| 亚洲性色av| 亚洲欧美日韩在线观看a三区| 日韩av黄色在线| 国内自拍视频一区二区三区| 日韩欧美中文| 蜜臀va亚洲va欧美va天堂| 国产精品黄网站| 精品少妇av| 亚州av乱码久久精品蜜桃| 日本不卡视频一二三区| 国产成人精品亚洲线观看 | 欧美一区二区三区久久精品| 国产第一亚洲| 欧美~级网站不卡| 日韩av资源网| 欧美gv在线| 亚洲精品无播放器在线播放| 国产成人精品亚洲线观看| 亚洲免费精品| 麻豆精品在线| 在线日韩中文| 日本va欧美va欧美va精品| 日韩福利一区| 亚洲3区在线| 特黄特色欧美大片| 欧美中文高清| 亚洲午夜视频| 国产精品久久久久久久免费软件| 激情欧美亚洲| 国产字幕视频一区二区| 国产美女亚洲精品7777| 欧美中文一区二区| 乱一区二区av| 在线观看一区| 亚洲不卡系列| 欧美日韩中文| 不卡视频在线| 免费看一区二区三区| 99热精品在线观看| 国产suv精品一区二区四区视频| 久久亚洲不卡| 久久久久久久久久久妇女| 日本免费一区二区三区四区| 欧美视频久久| 麻豆9191精品国产| 国产精品精品| 国产亚洲久久| 亚洲一区激情| 九九色在线视频| 国产欧美日韩精品高清二区综合区| 欧美日韩亚洲在线观看| 国产精品传媒麻豆hd| 免费日韩视频| 成人午夜国产| 激情综合五月| 国产精品白浆| 日本欧美在线| 一区二区亚洲视频| 国产精品88久久久久久| 精品三级av在线导航| 视频一区日韩精品| 亚洲午夜91| 亚洲天堂1区| 精品一区二区三区中文字幕 | 青青在线精品| 日本大胆欧美人术艺术动态| 日韩一区二区三区免费| 精品视频高潮| 国产伦乱精品| 日韩av资源网| 另类激情亚洲| 久久精品免费一区二区三区| 国产经典一区| 欧美片网站免费| 视频一区中文字幕精品 | 日韩黄色大片网站| 久久成人高清| 午夜电影一区| 男女男精品网站| 亚洲激情国产| 91精品国产成人观看| av综合电影网站| 国产在视频一区二区三区吞精| 久久av影视| 国产精品巨作av| 久久99久久人婷婷精品综合| 日韩av成人高清| 国产欧美在线| 欧美黑人做爰爽爽爽| 久久影视三级福利片| 国产精品亚洲四区在线观看| 日韩和欧美的一区| 国产精品mm| 三级久久三级久久久| 日韩国产欧美在线视频| 久久伊人国产| 国产精品啊v在线| 国产精品探花在线观看| 欧美日韩伊人| 国产精品一区2区3区| 国产精品亚洲综合久久| 欧美国产极品| 欧美韩日一区| 国产综合色区在线观看| 日本不卡免费高清视频在线| 日韩天堂在线| 欧美91福利在线观看| 日本精品不卡| 日韩视频一区| 亚洲狼人精品一区二区三区| 日本亚洲视频| 国产精品三p一区二区| 老司机免费视频一区二区| 国产精品九九| av在线资源| 好吊日精品视频 | 美女国产一区| 日韩不卡一区二区三区 | 日韩综合一区二区三区| 国产欧美一区二区三区精品观看| 久久伊人国产| 国产综合婷婷| 日本一区二区中文字幕| 欧美日韩a区| 久久久久久夜| 免费视频一区三区| 亚洲精品高潮| 精品视频91| 一区二区亚洲精品| 日本欧美一区二区| 色爱综合网欧美| 免费精品国产的网站免费观看| 亚洲综合中文| 国产精品一区亚洲| 99精品美女| 日本亚洲欧美天堂免费| 国产aⅴ精品一区二区四区| 亚洲一级影院| 日韩福利视频网| 国产精品久久久久av电视剧| 影音先锋国产精品| 国产精品中文字幕制服诱惑| 久久免费高清| 日韩福利视频导航| 国产精品原创| 亚洲精一区二区三区| 久久亚州av| 9国产精品视频| 国产欧美午夜| 亚洲一本视频| 国产日韩欧美一区二区三区| 中文字幕成在线观看| 免费看欧美美女黄的网站| 麻豆国产欧美日韩综合精品二区| 天堂网在线观看国产精品| 国产精品欧美一区二区三区不卡| av亚洲在线观看| 精品视频一区二区三区在线观看| 伊人成人在线视频| 欧美国产日本| 久久av一区| аⅴ资源天堂资源库在线| 黄色成人91| 青草国产精品| 亚洲国产专区校园欧美| 国产精久久一区二区| 红桃视频亚洲| 色爱综合网欧美| 欧美天堂在线|