java實(shí)現(xiàn)商品管理系統(tǒng)
本文實(shí)例為大家分享了java實(shí)現(xiàn)商品管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
功能要求:
完成“小商品管理系統(tǒng)”的架構(gòu)設(shè)計(jì)
要求:利用集合存儲(chǔ)若干商品對(duì)象
----小商品管理系統(tǒng)----
0. 退出
1. 錄入商品基本信息
2. 顯示商品信息
3. 商品入庫(kù)(增加數(shù)量)
4. 商品出庫(kù)(減少數(shù)量)
5. 修改商品價(jià)格
6. 所有產(chǎn)品的總價(jià)格(單價(jià)*數(shù)量)
import java.util.ArrayList; import java.util.Scanner; public class Demo1 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner get=new Scanner(System.in); String serial,name; float price; int number; System.out.println("----小商品管理系統(tǒng)----"); System.out.println("******************"); System.out.println("1.錄入商品基本信息"); System.out.println("2.顯示商品信息"); System.out.println("3.商品入庫(kù)(增加數(shù)量)"); System.out.println("4.商品出庫(kù)(減少數(shù)量)"); System.out.println("5.修改商品價(jià)格"); System.out.println("6.所有商品的總價(jià)格"); System.out.println("0.退出"); ArrayList<Goods> list=new ArrayList<>(); while(true) { System.out.println("請(qǐng)選擇序號(hào):"); int num=get.nextInt(); if(num==1) {//錄入商品基本信息 System.out.print("請(qǐng)輸入商品編號(hào):"); serial=get.next(); System.out.print("請(qǐng)輸入商品名稱:"); name=get.next(); System.out.print("請(qǐng)輸入商品價(jià)格:"); price=get.nextFloat(); System.out.print("請(qǐng)輸入商品數(shù)量:"); number=get.nextInt(); Goods goods=new Goods(serial, name, price, number); list.add(goods);//加入到商品信息庫(kù)里 }else if(num==2) {//顯示商品信息 System.out.println("編號(hào)\t名稱\t價(jià)格\t數(shù)量"); for(int i=0;i<list.size();i++) { Goods g=list.get(i); g.show(); } }else if(num==3) {//商品入庫(kù)(增加數(shù)量) System.out.print("請(qǐng)輸入要入庫(kù)的商品的編號(hào):"); String se=get.next(); boolean flag=true; for(int i=0;i<list.size();i++) { Goods g=list.get(i); if(se.equals(g.getSerial())) { System.out.println("商品在庫(kù)中"); System.out.print("請(qǐng)輸入要入庫(kù)的商品的數(shù)量:"); int n=get.nextInt(); int number0=g.getNumber(); number0+=n; g.setNumber(number0);//返回更改后的商品數(shù)量 flag=true; break; }else { flag=false; } } if(flag==false) { System.out.println("商品不在庫(kù)中,請(qǐng)重新輸入:"); } }else if(num==4) {//商品出庫(kù)(減少數(shù)量) System.out.print("請(qǐng)輸入要出庫(kù)的商品的編號(hào):"); String se=get.next(); boolean flag=true; for(int i=0;i<list.size();i++) { Goods g=list.get(i); if(se.equals(g.getSerial())) { int number0=g.getNumber(); System.out.println("商品在庫(kù)中,數(shù)量為:"+number0); System.out.print("請(qǐng)輸入要出庫(kù)的商品的數(shù)量:"); int n=get.nextInt(); number0-=n; g.setNumber(number0);//返回更改后的商品數(shù)量 flag=true; break; }else { flag=false; } } if(flag==false) { System.out.println("商品不在庫(kù)中,請(qǐng)重新輸入:"); } }else if(num==5) {//修改商品價(jià)格 System.out.print("請(qǐng)輸入要修改價(jià)格的商品的編號(hào):"); String se=get.next(); boolean flag=true; for(int i=0;i<list.size();i++) { Goods g=list.get(i); if(se.equals(g.getSerial())) { float price0=g.getPrice(); System.out.println("商品在庫(kù)中,價(jià)格為:"+price0); System.out.print("請(qǐng)輸入要修改的商品的價(jià)格:"); float p=get.nextFloat(); g.setPrice(p);//返回修改后的價(jià)格 flag=true; break; }else { flag=false; } } if(flag==false) { System.out.println("商品不在庫(kù)中,請(qǐng)重新輸入:"); } }else if(num==6) {//所有產(chǎn)品的總價(jià)格(單價(jià)*數(shù)量) float total[]=new float[list.size()]; float Total=0; for(int i=0;i<list.size();i++) { Goods g=list.get(i); total[i]=g.getPrice()*g.getNumber(); System.out.println("編號(hào)為"+i+"的商品的總價(jià)格為:"+total[i]); Total+=total[i]; } System.out.println("所有商品的總價(jià)格為:"+Total); }else if(num==0) { System.out.println("退出成功!"); break; } } get.close(); } } class Goods{ String serial,name; float price; int number; public Goods(String se,String n,float p,int num) { this.serial=se; this.name=n; this.price=p; this.number=num; } public String getSerial() { return serial; } public void setSerial(String serial) { this.serial = serial; } public String getName() { return name; } public void setName(String name) { this.name = name; } public float getPrice() { return price; } public void setPrice(float price) { this.price = price; } public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } public void show() { System.out.println(serial+"\t"+name+"\t"+price+"\t"+number); } }
運(yùn)行結(jié)果如下:
更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解java中反射機(jī)制(含數(shù)組參數(shù))
這篇文章主要介紹了詳解java中反射機(jī)制(含數(shù)組參數(shù))的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下2017-10-10spring-shiro權(quán)限控制realm實(shí)戰(zhàn)教程
這篇文章主要介紹了spring-shiro權(quán)限控制realm實(shí)戰(zhàn)教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10java多線程之并發(fā)工具類CountDownLatch,CyclicBarrier和Semaphore
這篇文章主要為大家介紹了java并發(fā)工具類CountDownLatch,CyclicBarrier和Semaphore ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2021-12-12Servlet關(guān)于RequestDispatcher的原理詳解
這篇文章主要介紹了Servlet關(guān)于RequestDispatcher的原理詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11http協(xié)議進(jìn)階之Transfer-Encoding和HttpCore實(shí)現(xiàn)詳解
這篇文章主要給大家介紹了http協(xié)議之Transfer-Encoding和HttpCore實(shí)現(xiàn)的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-04-04