Java實(shí)現(xiàn)購(gòu)物管理系統(tǒng)
本文實(shí)例為大家分享了Java實(shí)現(xiàn)購(gòu)物管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
重點(diǎn)內(nèi)容
JAVA分支結(jié)構(gòu)練習(xí)
動(dòng)態(tài)數(shù)組
注冊(cè)表讀寫刪
代碼:
package Endless; import java.util.ArrayList; import java.util.Random; /** * @JAVA01.person1.java * @author 當(dāng)前用戶:Endless作者 :Endless * @version 創(chuàng)建時(shí)間:2017年7月26日 下午6:29:16 * //實(shí)現(xiàn)商品及會(huì)員信息管理(添加,刪除,顯示) * //實(shí)現(xiàn)超市結(jié)算 */ import java.util.Scanner; import java.util.prefs.BackingStoreException; import java.util.prefs.Preferences; public class persion { static int s; static boolean huiyuan,xhuiyuan; static String bke="百事可樂",ke="500ml可樂一瓶",m="5公斤面粉",ss="1個(gè)蘇泊爾炒菜鍋",o="歐萊雅爽膚水一瓶"; static ArrayList<String>array=new ArrayList<String>(); static Preferences goodsnodes = Preferences.systemRoot().node("goods"); //創(chuàng)建節(jié)點(diǎn) static Preferences goodschildnode = goodsnodes.node( "goods"); //創(chuàng)建子節(jié)點(diǎn) public static void main(String []args) { outline(); System.out.println("\t歡迎使用購(gòu)物管理系統(tǒng)"); System.out.println("\t1.登陸系統(tǒng)\n\t2.退出程序\n "); outline(); int n =scanint(); if(n == 1){ login(); }else if( n== 2){ System.out.println("已退出"); System.exit(0); }else { System.out.println("請(qǐng)重新選擇:"); main(null); } } public static void outline(){ System.out.println("* * * * * * * * * * * * * * * * * * * * * * *\n"); } public static int scanint(){ int x = 0; try { Scanner scan =new Scanner(System.in); x = scan.nextInt(); } catch (Exception e) { System.out.println("輸入有誤,請(qǐng)輸入數(shù)字:"); } return x; } public static String scanStr(){ String x = null; try { Scanner scan =new Scanner(System.in); x = scan.next(); } catch (Exception e) { System.out.println("輸入有誤,請(qǐng)輸入字符串:"); } return x; } public static void login(){ System.out.println(" * * * * * * * * * 登陸 * * * * * * * * * * * *\n請(qǐng)輸入密碼\n:"); int n1 =scanint(); if(n1==(123123)){ System.out.println("登陸成功\n"); showMain(); }else{ System.out.println("密碼錯(cuò)誤"); System.out.println("請(qǐng)重新輸入密碼\n:"); login(); } } private static void showMain() { System.out.println("\n\n\t歡迎使用購(gòu)物管理系統(tǒng)\n"); outline(); System.out.println("\t\t 1. 會(huì) 員 信 息 管 理\n"); System.out.println("\t\t 2. 貨 物 信 息 管 理\n"); System.out.println("\t\t 3. 購(gòu) 物 結(jié) 算\n"); System.out.println("\t\t 4. 注 銷\n"); outline(); System.out.print("請(qǐng)選擇,輸入數(shù)字:"); int n2 =scanint(); switch (n2) { case 1: new user(); break; case 2: goods(); break; case 3: jiesuan(); break; case 4: System.out.println("注銷成功"); main(null); default: System.out.println("沒有您要的選項(xiàng)請(qǐng)重新輸入"); showMain(); break; } } private static void goods() { //商品管理 :添加商品: 編號(hào) 品名 價(jià)格 // 刪除:選擇標(biāo)號(hào)刪除 outline(); System.out.println("\t\t商品信息管理\n"); System.out.println("\t\t1,顯示商品\n"); System.out.println("\t\t2,添加物品\n"); System.out.println("\t\t3,刪除商品\n"); System.out.println("\t\t4,返回上級(jí)\n"); outline(); int n = scanint(); if (n==1){ showgoods(); }else if(n==2){ addgoods(); }else if(n ==3){ delgoods(); }else if(n==4) { showMain(); }else { goods(); } } private static void delgoods() { System.out.println("請(qǐng)選擇要?jiǎng)h除商品的ID:\n按0返回上級(jí)"); try { Scanner scan =new Scanner(System.in); int x = scan.nextInt(); boolean remove=false; for (int i=0;i<array.size();i++){ if(x==Integer.parseInt(array.get(i))){ remove=true; } } if (remove){ goodschildnode.remove(Integer.toString(x)); System.out.println("刪除成功"); goods(); }else if (x==0) { goods(); }else { System.out.println("沒有此商品!"); delgoods(); } new user(); } catch (Exception e) { System.out.println("請(qǐng)輸入數(shù)字"); delgoods(); } } private static void showgoods() { try { int leng =goodschildnode.keys().length; syncread(); if(leng==0){ System.out.println("沒有商品"); }else{ try { System.out.println("當(dāng)前有"+goodschildnode.keys().length+"種商品"); for(int i = 0;i<=goodschildnode.keys().length;i++){ String shows =goodschildnode.get(array.get(i), ""); System.out.println(shows); System.out.println("──────────────────────────────────────────────"); } System.out.println("00000000"); } catch (Exception e) { } } } catch (BackingStoreException e) { } System.out.println("111111111"); goods(); } private static void syncread() { try { String[] arr= goodschildnode.keys(); goodschildnode.sync(); array.clear(); for(int i=0;i<arr.length;i++){ array.add(arr[i]); } } catch (Exception e) { } } private static int check(int x) { Random n=new Random(); syncread(); for(int i=0;i<array.size();i++){ if(x==Integer.parseInt(array.get(i))){ check(n.nextInt(999)+1); } } return x; } private static void addgoods(){ outline(); System.out.println("\t\t請(qǐng)輸入商品信息"); System.out.println("\t\t品名,價(jià)格(元),單位"); System.out.println("\t\t回車換行區(qū)分"); outline(); syncread(); String name =scanStr(); String nuit =scanStr(); int price = scanint(); Random n=new Random(); String id ; id=Integer.toString(check(n.nextInt(999)+1)); try{ goodschildnode.put(id, "ID:"+id+" 品名:"+name+" 價(jià)格:"+price+" 單位:"+nuit); syncread(); System.out.println("第"+(goodschildnode.keys().length)+"種商品添加成功"); System.out.println("當(dāng)前商品"+goodschildnode.keys().length+"種\n"+array+"\n"+array.size()); goods(); } catch (Exception e) { goods(); } } static void jiesuan(){ try{ System.out.println("是否會(huì)員?是選1 否選0"); int x= scanint(); if (x==1){ huiyuan = true; Scanner sc =new Scanner(System.in); System.out.println("請(qǐng)輸入您的會(huì)員號(hào):"); int hui = sc.nextInt()/100%10; if(hui==9){ System.out.println("恭喜你屬于幸運(yùn)會(huì)員,可以享受全場(chǎng)八折優(yōu)惠"); xhuiyuan = true; }else{ xhuiyuan = false; } }else if (x==0) { huiyuan = false; } System.out.println("請(qǐng)輸入消費(fèi)金額:"); Scanner scan =new Scanner(System.in); if(scan.hasNext()){ s=scan.nextInt(); outline(); System.out.println("是否參加優(yōu)惠換購(gòu)活動(dòng):" ); System.out.println("1:滿50元,加2元換購(gòu)"+bke ); System.out.println("2:滿100元,加3元換購(gòu)" +ke); System.out.println("3:滿100元,加10元換購(gòu)" +m ); System.out.println("4:滿200元,加10元換購(gòu)" +ss ); System.out.println("5:滿200元,加20元換購(gòu) " +o ); System.out.println("0:不換購(gòu)\n請(qǐng)選擇:\n" ); outline(); os(); } } catch (Exception e) { System.out.println("請(qǐng)輸入數(shù)字"); jiesuan(); } } static void out(String n , double s){ if(!(n==null)){ System.out.println("成功換購(gòu)"+n); } System.out.println("本次消費(fèi)總金額:"+s+"元"); if (huiyuan && xhuiyuan){ System.out.println("尊敬的幸運(yùn)會(huì)員,本次消費(fèi)享受8折優(yōu)惠"); double x =s*0.8; System.out.println("折扣為您節(jié)省:"+(s-x)+"元"); }else if (huiyuan) { System.out.println("尊敬的會(huì)員,本次消費(fèi)享受9折優(yōu)惠"); double x =s*0.9; System.out.println("折扣為您節(jié)省:"+(s-x)+"元"); } System.out.println("實(shí)際消費(fèi)總金額:"+s+"元"); showMain(); } static void os(){ switch (scanint()) { case 0: out(null,s); case 1: if(s>=52){ out(bke,s+2); }else{ Err(); } case 2: if(s>=103){ out(ke,s+3); }else{ Err(); } break; case 3: if(s>=110){ out(m,s+10); }else{ Err(); } break; case 4: if(s>=210){ out(ss,s+10); }else{ Err(); } break; case 5: if(s>=220){ out(o,s+20); }else{ Err(); } break; default: System.out.println("請(qǐng)重新選擇"); os(); } } static void Err(){ System.out.println("金額不足\n"); main(null); } static class user{ static ArrayList<String>array=new ArrayList<>(); static Preferences nodes = Preferences.systemRoot().node("user"); //創(chuàng)建節(jié)點(diǎn) static Preferences childnode = nodes.node( "user"); //創(chuàng)建子節(jié)點(diǎn) public user() { outline(); System.out.println("\t\t1,添加用戶"); System.out.println("\t\t2,刪除用戶"); System.out.println("\t\t3,顯示用戶"); System.out.println("\t\t4,返回上級(jí)"); outline(); try { int x=scanint(); switch (x) { case 1: add(); break; case 2: deluser(); break; case 3: show(); break; case 4: showMain(); break; default: System.out.println("沒有您要的選項(xiàng)!請(qǐng)重新選擇"); new user(); break; } } catch (Exception e) { new user(); } } private void deluser() throws BackingStoreException { System.out.println("請(qǐng)選擇要?jiǎng)h除用戶的ID:\n按0返回上級(jí)"); try { Scanner scan =new Scanner(System.in); int x = scan.nextInt(); boolean remove=false; for (int i=0;i<array.size();i++){ if(x==Integer.parseInt(array.get(i))){ remove=true; } } if (remove){ childnode.remove(Integer.toString(x)); System.out.println("刪除成功"); }else if (x==0) { new user(); }else { System.out.println("沒有此用戶!"); deluser(); } new user(); } catch (Exception e) { System.out.println("請(qǐng)輸入數(shù)字"); deluser(); } } private static void show() { try { int leng =childnode.keys().length; syncread(); if(leng==0){ System.out.println("沒有用戶"); }else{ System.out.println("當(dāng)前有"+childnode.keys().length+"位用戶"); for(int i = 0;i<=childnode.keys().length;i++){ String shows =childnode.get(childnode.keys()[i], ""); System.out.println(shows); System.out.println("──────────────────────────────────────────────"); } } } catch (BackingStoreException e) { } new user(); } private static void syncread() { try { String[] arr= childnode.keys(); childnode.sync(); array.clear(); for(int i=0;i<arr.length;i++){ array.add(arr[i]); } } catch (Exception e) { } } private static void add(){ Preferences nodes = Preferences.systemRoot().node("user"); //創(chuàng)建節(jié)點(diǎn) Preferences childnode = nodes.node( "user"); //創(chuàng)建子節(jié)點(diǎn) outline(); System.out.println("\t\t請(qǐng)輸入用戶信息"); System.out.println("\t\t姓名,6位卡號(hào),年齡,電話"); System.out.println("\t\t回車換行區(qū)分"); outline(); syncread(); String name =scanStr(); int card = scanint(); int age =scanint(); String tel =scanStr(); Random n=new Random(); String id ; id = Integer.toString(n.nextInt(999)+1); try{ childnode.put(id, "ID:"+id+" 姓名:"+name+" 卡號(hào):"+card+" 年齡:"+age+" 電話:"+tel); syncread(); System.out.println("第"+(childnode.keys().length)+"位會(huì)員添加成功"); System.out.println("當(dāng)前用戶"+childnode.keys().length+"位\n"+array+"\n"+array.size()); new user(); } catch (Exception e) { new user(); } } } }
更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
換了最新的idea如何將原來(lái)舊版本的idea設(shè)置導(dǎo)進(jìn)新的idea中
這篇文章主要介紹了換了最新的idea如何將原來(lái)舊版本的idea設(shè)置導(dǎo)進(jìn)新的idea中,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11SpringBoot?整合mapstruct的實(shí)現(xiàn)步驟
這篇文章主要介紹了SpringBoot整合mapstruct,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11java開發(fā)時(shí)各類工具的使用規(guī)范
這篇文章主要介紹了java編碼時(shí)各類工具的使用規(guī)范,多人協(xié)作、共同開發(fā)一個(gè)項(xiàng)目,如果沒有統(tǒng)一的代碼規(guī)范的話,項(xiàng)目中的每個(gè)人都按照自己的習(xí)慣率性而為,就會(huì)導(dǎo)致整個(gè)項(xiàng)目的代碼看上去雜亂無(wú)章,可讀性非常差,并且持續(xù)增加后續(xù)的維護(hù)成本。對(duì)此感興趣可以來(lái)了解一下2020-07-07Java如何使用itext向PDF插入數(shù)據(jù)和圖片
最近項(xiàng)目中使用到Java實(shí)現(xiàn)寫入PDF文件,這篇文章主要給大家介紹了關(guān)于Java如何使用itext向PDF插入數(shù)據(jù)和圖片的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01Java基于socket實(shí)現(xiàn)簡(jiǎn)易聊天室實(shí)例
這篇文章主要介紹了Java基于socket實(shí)現(xiàn)簡(jiǎn)易聊天室的方法,實(shí)例分析了java基于socket實(shí)現(xiàn)聊天室服務(wù)端與客戶端的相關(guān)技巧,需要的朋友可以參考下2015-05-05java實(shí)現(xiàn)在普通類中注入service或mapper
這篇文章主要介紹了java實(shí)現(xiàn)在普通類中注入service或mapper的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Servlet實(shí)現(xiàn)統(tǒng)計(jì)頁(yè)面訪問次數(shù)功能
這篇文章主要介紹了Servlet實(shí)現(xiàn)統(tǒng)計(jì)頁(yè)面訪問次數(shù)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04