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è)表讀寫(xiě)刪
代碼:
package Endless;
import java.util.ArrayList;
import java.util.Random;
/**
* @JAVA01.person1.java
* @author 當(dāng)前用戶(hù):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="百事可樂(lè)",ke="500ml可樂(lè)一瓶",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. 注 銷(xiāo)\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("注銷(xiāo)成功");
main(null);
default:
System.out.println("沒(méi)有您要的選項(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("沒(méi)有此商品!");
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("沒(méi)有商品");
}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回車(chē)換行區(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,添加用戶(hù)");
System.out.println("\t\t2,刪除用戶(hù)");
System.out.println("\t\t3,顯示用戶(hù)");
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("沒(méi)有您要的選項(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除用戶(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("沒(méi)有此用戶(hù)!");
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("沒(méi)有用戶(hù)");
}else{
System.out.println("當(dāng)前有"+childnode.keys().length+"位用戶(hù)");
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)輸入用戶(hù)信息");
System.out.println("\t\t姓名,6位卡號(hào),年齡,電話");
System.out.println("\t\t回車(chē)換行區(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)前用戶(hù)"+childnode.keys().length+"位\n"+array+"\n"+array.size());
new user();
} catch (Exception e) {
new user();
}
}
}
}
更多學(xué)習(xí)資料請(qǐng)關(guān)注專(zhuān)題《管理系統(tǒng)開(kāi)發(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中,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
SpringBoot?整合mapstruct的實(shí)現(xiàn)步驟
這篇文章主要介紹了SpringBoot整合mapstruct,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
java開(kāi)發(fā)時(shí)各類(lèi)工具的使用規(guī)范
這篇文章主要介紹了java編碼時(shí)各類(lèi)工具的使用規(guī)范,多人協(xié)作、共同開(kāi)發(fā)一個(gè)項(xiàng)目,如果沒(méi)有統(tǒng)一的代碼規(guī)范的話,項(xiàng)目中的每個(gè)人都按照自己的習(xí)慣率性而為,就會(huì)導(dǎo)致整個(gè)項(xiàng)目的代碼看上去雜亂無(wú)章,可讀性非常差,并且持續(xù)增加后續(xù)的維護(hù)成本。對(duì)此感興趣可以來(lái)了解一下2020-07-07
Java如何使用itext向PDF插入數(shù)據(jù)和圖片
最近項(xiàng)目中使用到Java實(shí)現(xiàn)寫(xiě)入PDF文件,這篇文章主要給大家介紹了關(guān)于Java如何使用itext向PDF插入數(shù)據(jù)和圖片的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
Java基于socket實(shí)現(xiàn)簡(jiǎn)易聊天室實(shí)例
這篇文章主要介紹了Java基于socket實(shí)現(xiàn)簡(jiǎn)易聊天室的方法,實(shí)例分析了java基于socket實(shí)現(xiàn)聊天室服務(wù)端與客戶(hù)端的相關(guān)技巧,需要的朋友可以參考下2015-05-05
java實(shí)現(xiàn)在普通類(lèi)中注入service或mapper
這篇文章主要介紹了java實(shí)現(xiàn)在普通類(lèi)中注入service或mapper的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Servlet實(shí)現(xiàn)統(tǒng)計(jì)頁(yè)面訪問(wèn)次數(shù)功能
這篇文章主要介紹了Servlet實(shí)現(xiàn)統(tǒng)計(jì)頁(yè)面訪問(wèn)次數(shù)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04

