功能要求:
完成“小商品管理系統”的架構設計
要求:利用集合存儲若干商品對象----小商品管理系統---- 0. 退出 1. 錄入商品基本信息 2. 顯示商品信息 3. 商品入庫(增加數量) 4. 商品出庫(減少數量) 5. 修改商品價格 6. 所有產品的總價格(單價*數量)
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("----小商品管理系統----");
System.out.println("******************");
System.out.println("1.錄入商品基本信息");
System.out.println("2.顯示商品信息");
System.out.println("3.商品入庫(增加數量)");
System.out.println("4.商品出庫(減少數量)");
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("請輸入商品數量:");
number=get.nextInt();
Goods goods=new Goods(serial, name, price, number);
list.add(goods);//加入到商品信息庫裏
}else if(num==2) {//顯示商品信息
System.out.println("編號\t名稱\t價格\t數量");
for(int i=0;i<list.size();i++) {
Goods g=list.get(i);
g.show();
}
}else if(num==3) {//商品入庫(增加數量)
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("請輸入要入庫的商品的數量:");
int n=get.nextInt();
int number0=g.getNumber();
number0+=n;
g.setNumber(number0);//返回更改後的商品數量
flag=true;
break;
}else {
flag=false;
}
}
if(flag==false) {
System.out.println("商品不在庫中,請重新輸入:");
}
}else if(num==4) {//商品出庫(減少數量)
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("商品在庫中,數量爲:"+number0);
System.out.print("請輸入要出庫的商品的數量:");
int n=get.nextInt();
number0-=n;
g.setNumber(number0);//返回更改後的商品數量
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) {//所有產品的總價格(單價*數量)
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);
}
}
運行結果如下: