找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2780|回复: 0
收起左侧

java实现商品信息管理系统构建类图等资料

[复制链接]
ID:638858 发表于 2019-11-9 21:13 | 显示全部楼层 |阅读模式
java实现商品信息管理系统,相关内容在附件

统构建类图:
11.png

一.控制台实现:
   0. 退出
   1. 录入商品基本信息
   2. 显示商品信息
   3. 增加商品数量
   4. 减少商品数量  
5. 修改商品价格
   6. 所有产品的总价格(单价*数量)
程序:
package test1;
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);
    }
}
运行结果:
1.录入商品信息和显示商品信息的功能实现:
51hei.png
2.一定要理解的概念
(开始做的时候,很发懵,看了好多资料,但是还是感觉什么都不懂,这时候应该看一些例题,查一下“XXX实验报告”,弄清楚到底应该怎么写。)
1、用design来理解panel
首先,程序会自己创建一个contentPane,这个就是一个主界面,就是你run了以后,出现的第一个界面。
可以在contentPane里边加各种你需要的元素。
2、JPanel
如果你需要从主界面跳转到另一个界面,那么你就需要再设置一个Jpanel,再用相关语法。可以这么理解,我们可视化了以后,就是从一个一个界面之间的跳转,所以我们需要很多的panel来区别其他的展示界面。
3.时间的发生要怎么监听
(即怎么判断事情的发生,比如我按了一个按钮,程序怎么就知道自己判断,自己执行了呢)
4.怎么读取文本框里边的信息
如果文本框的名称是textfile,则可以
textfile.getText(),注意这里得到的是一个String的信息,如果你想得到数字信息,比如说你在文本框输入2,如果用上边语句,你得到的是“2”,要想得到数字,比如double 类型应该是
Double.parseDouble(textField_4.getText());
举一反三,得到int类型,应该是Integer.parseInt(textField_5.getText());
5.怎么样从一个界面跳转到另一个界面呢
首先不同的界面需要使用不同的panel!!!
然后在套用公式,在你需要监听的事件那里写:delectstudent();即调用这个函数
三.设计思路:
可以对超市商品进行管理的人员主要有超市的商家和顾客,商家可以对超市的商品进行增﹑删﹑改﹑查操作,而顾客只能查询和购买商品。增加商品时,要添加商品的全部信息(编号﹑类别﹑名称﹑价格﹑库存量﹑品牌﹑生产厂家),删除时只需要输入商品编号便可删除该商品的全部信息,修改时要先输入商品编号,然后再确定要修改该商品的哪一个值,以及要将该值修改为什么,查询时只要输入想要查询商品的任意一个信息并选择商品类别便可查出该商品的全部信息。
1.实现:
建立并连接数据库与基本表
连接数据库时需要用到JDBC,它由Java编程语言编写的类和接口组成,是实现Java与各种数据库连接的关键,提供了将Java与数据库连接起来的程序接口,使用户可以以SQL的形式编写访问请求,然后传给数据库,其结果再由这一接口返回,从而实现对数据库中数据操作的目的。超市商品管理系统采用了MySQL作为数据库,所建的系统数据库名为“goods”。通过需求分析、概念设计与逻辑设计,可知该系统数据库只需建立一个商品表即可
2.结构设计:
该系统用于对商品的基本信息进行管理,主要包括添加、修改、查询和删除商品基本信息,为了方便,全部操作均在界面中完成。由此,将该系统结构设计为登录模块、顾客模块、商家模块。由于涉及界面设计,因此调用了java.awt.、java.awt.event.、javax.swing.、java.util.、javax.swing.event.*、java.sql.*等包。
(一)实现登录模块:
要生成一个界面,可应用AWT知识。设置其名字为商品信息管理系统;设置布局管理器为(null)布局管理器,方便往其中放组件;设置窗口大小和位置,还要设置窗口可见性。
生成界面后,接下来就需要实现每个功能,第一个功能就是要对操作对象的身份进行选择,这里要用下拉列表的形式进行选择,也可以用单选按钮来完成这个功能。在这项功能中,首先要选择身份,所以要定义一个JLabel来说明,定义完JLabel后,就需要定义一个JComoBox,下拉列表框。 
输入用户名和密码。需要用两个JLabel来指明需要输入用户名和密码。输入用户名需要定义一个JTextField,单文本框。同时输入文本,但输入密码和输入用户名是不一样的,它需要定义成JPasswordField,它的输出结果为“*****”这样的形式。 
创建两个按钮,一个是登录按钮,另一个是取消登录按钮,用来输入的用户名和密码及选择的身份进行提交,然后根据选择的身份来选择需要进入那个界面,其代码如下:
package sangpin;
import java.awt.*;
import  javax.swing.*;
import java.awt.event.*;
public class info_Manage extends JFrame implements ActionListener{
    private JLabel username = new JLabel("用户名");
    private JTextField userName = new JTextField();        
    private JLabel psw = new JLabel("密码");   
    private JPasswordField Psw = new JPasswordField();
    JLabel jlp=new JLabel("身份");
    String str[]={"顾客","商家"};
    JComboBox jcb=new JComboBox(str);   
    private JButton jb1 = new JButton("登录");
    private JButton jb2 = new JButton("取消");   
    public info_Manage(){        
        this.setTitle("商品信息管理系统");
        this.setLayout(null);
        username.setBounds(100,50,100,20);
        this.add(username);        
        userName.setBounds(150,50,100,20);
        this.add(userName);
        psw.setBounds(100,100,100,20);
        this.add(psw);
        Psw.setBounds(150,100,100,20);
        this.add(Psw);
        jlp.setBounds(100,150,100,20);
        this.add(jlp);
        jcb.setBounds(150,150,100,20);
        this.add(jcb);
        jcb.addActionListener(this);
        jb1.setBounds(100,210,60,20);
        this.add(jb1);
        jb1.addActionListener(this);
        jb2.setBounds(200,210,60,20);
        this.add(jb2);     
        jb2.addActionListener(this);
        this.setVisible(true);
        this.setBounds(10,10,390,330);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
        new info_Manage();
    }
    public void actionPerformed(ActionEvent e) {        
        if (e.getSource() == jb1) {
            String name=userName.getText();
            String password = new String(Psw.getPassword());
            if(name.length()==0&&password.length()!=0)
                JOptionPane.showMessageDialog( null, "请输入用户名");
            else  if(name.length()!=0&&password.length()==0)
                JOptionPane.showMessageDialog( null, "请输入密码");
            else if(name.length()==0&&name.length()==0)
                    JOptionPane.showMessageDialog( null, "请输入用户名和密码");
            else if(jcb.getSelectedIndex()==0&&name.length()!=0&&name.length()!=0)
                new custom_Manage();
            else if(jcb.getSelectedIndex()==1&&name.length()!=0&&password.length()!=0)
                new seller_Manage();
        }
        else if(e.getSource()==jb2)
            System.exit(0);
    }
}

(二)实现顾客操作界面
当选择“顾客”时,单击“登录”按钮就可以进入顾客操作系统了,然后就可以对摸个学生的信息进行输入、修改和删除,也能对同学的信息进行查询和对程序进行查询。当打算离开时,还要有一个选项用来退出学生信息管理系统。根据设计构想,首先要搭建一个界面,然后把顾客的操作分为2大块,分别是商品信息查询和退出登录


完整的Word格式文档51黑下载地址:
商品管理系统.docx (1.7 MB, 下载次数: 9)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表