java實現(xiàn)商品管理系統(tǒng)
本文實例為大家分享了java實現(xiàn)商品管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
功能要求:
完成“小商品管理系統(tǒng)”的架構(gòu)設(shè)計
要求:利用集合存儲若干商品對象
----小商品管理系統(tǒng)----
0. 退出
1. 錄入商品基本信息
2. 顯示商品信息
3. 商品入庫(增加數(shù)量)
4. 商品出庫(減少數(shù)量)
5. 修改商品價格
6. 所有產(chǎn)品的總價格(單價*數(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.商品入庫(增加數(shù)量)");
System.out.println("4.商品出庫(減少數(shù)量)");
System.out.println("5.修改商品價格");
System.out.println("6.所有商品的總價格");
System.out.println("0.退出");
ArrayList<Goods> list=new ArrayList<>();
while(true) {
System.out.println("請選擇序號:");
int num=get.nextInt();
if(num==1) {//錄入商品基本信息
System.out.print("請輸入商品編號:");
serial=get.next();
System.out.print("請輸入商品名稱:");
name=get.next();
System.out.print("請輸入商品價格:");
price=get.nextFloat();
System.out.print("請輸入商品數(shù)量:");
number=get.nextInt();
Goods goods=new Goods(serial, name, price, number);
list.add(goods);//加入到商品信息庫里
}else if(num==2) {//顯示商品信息
System.out.println("編號\t名稱\t價格\t數(shù)量");
for(int i=0;i<list.size();i++) {
Goods g=list.get(i);
g.show();
}
}else if(num==3) {//商品入庫(增加數(shù)量)
System.out.print("請輸入要入庫的商品的編號:");
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("商品在庫中");
System.out.print("請輸入要入庫的商品的數(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("商品不在庫中,請重新輸入:");
}
}else if(num==4) {//商品出庫(減少數(shù)量)
System.out.print("請輸入要出庫的商品的編號:");
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("商品在庫中,數(shù)量為:"+number0);
System.out.print("請輸入要出庫的商品的數(shù)量:");
int n=get.nextInt();
number0-=n;
g.setNumber(number0);//返回更改后的商品數(shù)量
flag=true;
break;
}else {
flag=false;
}
}
if(flag==false) {
System.out.println("商品不在庫中,請重新輸入:");
}
}else if(num==5) {//修改商品價格
System.out.print("請輸入要修改價格的商品的編號:");
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("商品在庫中,價格為:"+price0);
System.out.print("請輸入要修改的商品的價格:");
float p=get.nextFloat();
g.setPrice(p);//返回修改后的價格
flag=true;
break;
}else {
flag=false;
}
}
if(flag==false) {
System.out.println("商品不在庫中,請重新輸入:");
}
}else if(num==6) {//所有產(chǎn)品的總價格(單價*數(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("編號為"+i+"的商品的總價格為:"+total[i]);
Total+=total[i];
}
System.out.println("所有商品的總價格為:"+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);
}
}
運行結(jié)果如下:



更多學(xué)習(xí)資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
spring-shiro權(quán)限控制realm實戰(zhàn)教程
這篇文章主要介紹了spring-shiro權(quán)限控制realm實戰(zhàn)教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
java多線程之并發(fā)工具類CountDownLatch,CyclicBarrier和Semaphore
這篇文章主要為大家介紹了java并發(fā)工具類CountDownLatch,CyclicBarrier和Semaphore ,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-12-12
Servlet關(guān)于RequestDispatcher的原理詳解
這篇文章主要介紹了Servlet關(guān)于RequestDispatcher的原理詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
http協(xié)議進階之Transfer-Encoding和HttpCore實現(xiàn)詳解
這篇文章主要給大家介紹了http協(xié)議之Transfer-Encoding和HttpCore實現(xiàn)的相關(guān)資料,文中介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-04-04

