java实现商品管理系统

 更新时间:2019年10月25日 17:14:54   转载 作者:星汉翠竹  
这篇文章主要为大家详细介绍了java实现商品管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现商品管理系统的具体代码,供大家参考,具体内容如下

功能要求:

完成“小商品管理系统”的架构设计
要求:利用集合存储若干商品对象

----小商品管理系统----

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);
 }
}

运行结果如下:



更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • springmvc配置线程池Executor做多线程并发操作的代码实例

    springmvc配置线程池Executor做多线程并发操作的代码实例

    今天小编就为大家分享一篇关于springmvc配置线程池Executor做多线程并发操作的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Java在web页面上的编码解码处理及中文URL乱码解决

    Java在web页面上的编码解码处理及中文URL乱码解决

    这篇文章主要介绍了Java在web页面上的编码解码处理及中文URL乱码解决,文中所介绍的两种使用过滤器解决中文链接乱码的方法非常有效,需要的朋友可以参考下
    2016-02-02
  • Commons beanutils组件简介

    Commons beanutils组件简介

    这篇文章主要介绍了commons beanutils组件的相关内容,以及部分实例和基本用法,需要的朋友可以参考下
    2017-09-09
  • Java 读取外部资源的方法详解及实例代码

    Java 读取外部资源的方法详解及实例代码

    这篇文章主要介绍了Java 读取外部资源的方法详解及实例代码的相关资料,经常有读取外部资源的要求,如配置文件等等需要读取,需要的朋友可以参考下
    2017-03-03
  • Java连接数据库oracle中文乱码解决方案

    Java连接数据库oracle中文乱码解决方案

    这篇文章主要介绍了Java连接数据库oracle中文乱码解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • java中每月等额与先息后本计算

    java中每月等额与先息后本计算

    一般信用贷款会提供两种还款方式:每月等额或者先息后本。每月等额,就是每月归还等同的部分本金和利息,你手里在使用的本金其实是逐月减少的。先息后本就是先还利息,到期归还本金。本文将介绍他们的实现方法。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • Springboot es包版本异常解决方案

    Springboot es包版本异常解决方案

    这篇文章主要介绍了springboot 项目依赖 es包版本异常,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 图文详解JAVA实现哈夫曼树

    图文详解JAVA实现哈夫曼树

    所谓哈夫曼树就是要求最小加权路径长度,这是什么意思呢?简而言之,就是要所有的节点对应的路径长度(高度-1)乘以该节点的权值,然后保证这些结果之和最小。下面这篇文章就给大家详细介绍
    2016-08-08
  • java中的方法重载知识点总结

    java中的方法重载知识点总结

    在本篇文章里小编给大家整理了关于java中的方法重载知识点总结,有兴趣的朋友们可以跟着学习参考下。
    2020-02-02
  • Java关键字instanceof的两种用法实例

    Java关键字instanceof的两种用法实例

    这篇文章主要介绍了Java关键字instanceof的两种用法实例,本文给出了instanceof关键字用于判断一个引用类型变量所指向的对象是否是一个类(或接口、抽象类、父类)及用于数组比较,需要的朋友可以参考下
    2015-03-03

最新评论