搜档网
当前位置:搜档网 › Java课程设计超市库存管理系统附源代码可以直接运行

Java课程设计超市库存管理系统附源代码可以直接运行

Java课程设计超市库存管理系统附源代码可以直接运行
Java课程设计超市库存管理系统附源代码可以直接运行

[超市库存管理系统]

专业:[计算机科学与技术] 班级:[ 13级计本1班] 学生姓名:[ 李治生]

学号:[1312210142]

一、需求分析 (3)

二、概要设计 (3)

三、详细设计 (4)

1、数据库设计 (4)

用户登录界面: (6)

进入主界面: (9)

四、软件测试 (39)

五、总结 (40)

六、附录: (41)

一、需求分析

本系统主要是用来帮助小型超市进行库存管理系统,能够有效的帮助小型超市进行库存管理!其中包括增删改查等基本的应用。极大的提高了超市的库存管理效率,节省了大量的时间。

*********************************************************** ***********************************************************

二、概要设计

1、本系统的每一个功能模块都包含了多个功能。整个系统主要完成对超市商品的日常管理,包括进货管理,库存管理和供应商管理等方面。在功能上系统可以完成对相关信息的浏览、查询、添加、删除、修改等功能。本课题的核心之一是销售管理、库存管理和进货管理三者之间的联系,同时系统有完整的用户管理功能。本系统采用java语言和SQL Server 2008作为开发工具。这种系统优势在于系统比较简单,但功能强大,扩展性能也比较好,完全能够处理一般超市的日常任务

2、整体分为3个模块(货物,供应商,记录)每个模块之间相互关联,都有自己的增删改查!

3、程序流程图如下:

三、详细设计

1、数据库设计Goods表:

Lzs(用户登录名,密码):

Recond表():记录表

Supplier(供应商表):

用户登录界面:

设计代码如下:

package source;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

@SuppressWarnings("serial")

public class loginframe extends JFrame implements ActionListener { JTextField 用户名;

JPasswordField 密码;

JButton 登录,重置;

Box baseBox,box1,box2,box3;//盒式布局

ImagePanel p;//用于插入图片的面板

JSplitPane split;//拆分窗格

Font f;//设置字体

JLabel userName,psw;

Function wMain;

Connection con;

Statement sql;

ResultSet rs;

String dbdriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

String dburl = "jdbc:sqlserver://localhost:1433;DatabaseName=LZS";

String user = "sa";

String pass = "123";

public loginframe()

{

setLayout(new FlowLayout());

init();

setBounds(130,80,960,600);

setVisible(true);

setResizable(false);

try{

Class.forName(dbdriver);

}

catch(ClassNotFoundException classnotfound){

System.out.println("未能找到SQLServerDriver,请检查是否已加载SQLServer 驱动");

}

}

void init()

{

f = new Font("幼圆",Font.BOLD,18);

p = new ImagePanel(new ImageIcon("E:/Java文件

/SuperMarket/picture/1.jpg").getImage());

登录= new JButton("登录");

登录.addActionListener(this);

重置= new JButton("重置");

重置.addActionListener(this);

用户名= new JTextField(16);

用户名.setFont(f);

密码= new JPasswordField(16);

userName = new JLabel("用户名:");

userName.setFont(f);

psw = new JLabel("密码:");

psw.setFont(f);

box1 = Box.createVerticalBox();

box1.add(userName);

box1.add(Box.createVerticalStrut(20));

box1.add(psw);

box2 = Box.createVerticalBox();

box2.add(Box.createVerticalStrut(240));

box2.add(用户名);

box2.add(Box.createVerticalStrut(20));

box2.add(密码);

box2.add(Box.createVerticalStrut(20));

box3 = Box.createHorizontalBox();

box3.add(登录);

box3.add(Box.createHorizontalStrut(20));

box3.add(重置);

box2.add(box3);

box2.add(Box.createVerticalStrut(200));

baseBox = Box.createHorizontalBox();

baseBox.add(box1);

baseBox.add(Box.createHorizontalStrut(15));

baseBox.add(box2);

//baseBox.add(登录);

split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,false,p,baseBox);

split.setDividerLocation(0.5);

add(split,BorderLayout.PAGE_START);

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource() == 登录){

String Uname = 用户名.getText().trim();

char[]psw = 密码.getPassword();

String passWord = new String(psw);

try{

con =

DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=LZS","sa","123");

System.out.println("数据库连接成功!");

sql=con.createStatement();

String string = "SELECT * FROM lzs WHERE Uname= '"+Uname+"' AND mima = '"+passWord+"'";

rs = sql.executeQuery(string);

if(rs.next()){

wMain = new Function();

wMain.setTitle("超市库存管理系统");

wMain.setVisible(true);

this.dispose();

// wMain.pack();

}

else{

JOptionPane.showMessageDialog(this, "您输入的用密码不正确","警告对话框",JOptionPane.W ARNING_MESSAGE);

密码.setText(null);

密码.requestFocus();

}

con.close();

}

catch(SQLException ee){

ee.printStackTrace();

}

}else if(e.getSource() == 重置){

用户名.setText("");

密码.setText("");

}

}

}

进入主界面:

第一菜单(货物):

第二菜单(供应商):

第三菜单(记录):

设计代码如下:

package source;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

@SuppressWarnings("serial")

public class Function extends JFrame implements ActionListener{ Font f;

//菜单栏

JMenuBar menubar;//菜单条

JMenu 货物,供应商,记录; //菜单

JMenuItem 货物管理,退出,供应商管理,查询记录,进货计划;//菜单项//Box box;

JLabel label;

ImagePanel p;//用于插入图片的面板

//构造函数

Function()

{

setLayout(new FlowLayout());

init();

setTitle("超市库存管理系统");

setLocation(20,30);

setSize(1200,800);

setBounds(130,80,960,600);

setVisible(true);

setResizable(false);

}

void init()

{

menubar = new JMenuBar();

f = new Font("华文行楷",Font.BOLD,50);

Font f2 = new Font("宋体",0,12);

p = new ImagePanel(new ImageIcon("E:Java文件/SuperMarket/picture/2.jpg").getImage());

//库房货物管理菜单

货物= new JMenu("货物");

货物.setFont(f2);

货物管理= new JMenuItem("货物管理");

货物管理.setFont(f2);

货物管理.addActionListener(this);

退出= new JMenuItem("退出");

退出.setFont(f2);

退出.addActionListener(this);

货物.add(货物管理);

货物.add(退出);

menubar.add(货物);

//货物供应商菜单

供应商= new JMenu("供应商");

供应商.setFont(f2);

供应商管理= new JMenuItem("供应商管理");

供应商管理.setFont(f2);

供应商管理.addActionListener(this);

供应商.add(供应商管理);

menubar.add(供应商);

//货物进货、入库和出库记录查询菜单

记录= new JMenu("记录");

记录.setFont(f2);

查询记录= new JMenuItem("查询记录");

查询记录.setFont(f2);

查询记录.addActionListener(this);

进货计划= new JMenuItem("进货计划");

进货计划.setFont(f2);

进货计划.addActionListener(this);

记录.add(查询记录);

记录.add(进货计划);

menubar.add(记录);

label = new JLabel("欢迎进入超市库存管理系统");

label.setFont(f);

p.add(label);

label.setBounds(300,400,800,200);

add(p,BorderLayout.CENTER);

setJMenuBar(menubar);

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==供应商管理)

{

SupplierManage smTable = new SupplierManage();

smTable.setVisible(true);

smTable.pack();

}

else if(e.getSource()==货物管理)

{

goods goTable = new goods();

goTable.setVisible(true);

goTable.pack();

}

else if(e.getSource()==查询记录)

{

record reTable = new record();

reTable.setVisible(true);

reTable.pack();

}

else if(e.getSource() ==进货计划){

plan plTable = new plan();

plTable.setVisible(true);

plTable.pack();

}

else if(e.getSource()==退出)

{

this.dispose();

}

}

}

进入第一菜单(货物管理):

在此菜单下,可进行货物的增删改查操作,设计代码如下:package source;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

import javax.swing.*;

import javax.swing.table.DefaultTableModel;

@SuppressWarnings("serial")

public class goods extends JFrame implements ActionListener{

JTable table;

JLabel label;

JTextField inputText;

String []name = {"货物号","货物名","进货价","售价","折扣价","余量","余量预警值","供应商"};

String []strings = new String[8];

JButton 添加,修改,删除,退出,确认修改;

JPanel p;

JLabel []labels = new JLabel[8];

JTextField []fields = new JTextField[8];

Box baseBox,box1,box2;

ImagePanel pp;//用于插入图片的面板

JSplitPane split;//拆分窗格

DefaultTableModel deModel = null;

Connection con;

Statement sql;

ResultSet rs;

String dbdriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

String dburl = "jdbc:sqlserver://localhost:1433;DatabaseName=LZS";

String user = "sa";

String pass = "123";

goods()

{

setLayout(new BorderLayout());

init();

// Toolkit tk = Toolkit.getDefaultToolkit();

// Image img = tk.getImage("E:Java文件/SuperMarket/picture/2.jpg");

// setIconImage(img);

setTitle("货物管理");

setBounds(130,80,960,600);;

//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setResizable(false);

try{

Class.forName(dbdriver);

}

catch(ClassNotFoundException classnotfound){

classnotfound.printStackTrace();

}

}

void init()

{

pp = new ImagePanel(new ImageIcon("E:/Java文件

/SuperMarket/picture/2.jpg").getImage());

添加= new JButton("添加");

修改= new JButton("修改");

删除= new JButton("删除");

退出= new JButton("退出");

确认修改= new JButton("确认修改");

label = new JLabel("请输入想要删除或修改的货物名:");

inputText = new JTextField(8);

添加.addActionListener(this);

修改.addActionListener(this);

删除.addActionListener(this);

退出.addActionListener(this);

确认修改.addActionListener(this);

p = new JPanel();

p.add(label);

p.add(inputText);

p.add(添加);

p.add(修改);

p.add(删除);

p.add(退出);

p.add(确认修改);

add(p,BorderLayout.SOUTH);

labels[0] = new JLabel("货物号");

labels[1] = new JLabel("货物名");

labels[2] = new JLabel("进货价");

labels[3] = new JLabel("售价");

labels[4] = new JLabel("折扣价");

labels[5] = new JLabel("余量");

labels[6] = new JLabel("余量预警值");

labels[7] = new JLabel("供应商");

for(int i = 0;i<8;i++){

fields[i] = new JTextField(20);

}

//用盒式容器装要录入的数据和标签

box1 = Box.createVerticalBox();

box1.add(Box.createVerticalStrut(15));

for(int i = 0;i<8;i++){

box1.add(labels[i]);

box1.add(Box.createVerticalStrut(35));

}

box2 = Box.createVerticalBox();

box2.add(Box.createVerticalStrut(10));

for(int i = 0;i<8;i++){

box2.add(fields[i]);

box2.add(Box.createVerticalStrut(14));

}

baseBox = Box.createHorizontalBox();

baseBox.add(box1);

baseBox.add(Box.createHorizontalStrut(15));

baseBox.add(box2);

//添加表格

add(baseBox,BorderLayout.EAST);

deModel = new DefaultTableModel(name,0);

table = new JTable(deModel);

table.setCellSelectionEnabled(false);

table.setEnabled(false);

table.setShowHorizontalLines(true);

table.setShowVerticalLines(true);

//add(new JScrollPane(table),BorderLayout.CENTER);

split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,false,new JScrollPane(table),baseBox);

split.setDividerLocation(0.5);

add(split,BorderLayout.CENTER);

String sqlString = "select * from goods";

try{

//连接数据库

con = DriverManager.getConnection(dburl, user, pass);

sql = con.createStatement();

JOptionPane.showMessageDialog(this, "数据库连接成功!","消息对话框",https://www.sodocs.net/doc/136164624.html,RMA TION_MESSAGE);

rs = sql.executeQuery(sqlString);

while(rs.next()){

for(int i = 0;i<8;i++){

strings[i]=rs.getString(i+1);//把查询的结果填入表格中

}

deModel.addRow(strings);

deModel.fireTableStructureChanged();//更新中的数据

}

}

catch(SQLException ee){

ee.printStackTrace();

}

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource() == 添加){

String sqlString = "INSERT INTO goods V ALUES

('"+fields[0].getText()+"','"+fields[1].getText()+"','"+fields[2].getText()+"','"+fields[3].getText()+"' ,'"+fields[4].getText()+"','"+fields[5].getText()+"','"+fields[6].getText()+"','"+fields[7].getText()+"' )";

try{

sql.execute(sqlString);

JOptionPane.showMessageDialog(this, "操作成功!","消息对话框

",https://www.sodocs.net/doc/136164624.html,RMA TION_MESSAGE);

//更新表格中的数据

for(int i = deModel.getRowCount()-1;i>=0;i--){

deModel.removeRow(i);

deModel.fireTableStructureChanged();

}

rs = sql.executeQuery("select * from goods");

while(rs.next()){

for(int j = 0;j<8;j++){

strings[j]=rs.getString(j+1);

}

deModel.addRow(strings);

deModel.fireTableStructureChanged();//更新中的数据

}

}

catch(SQLException ee){

ee.printStackTrace();

}

for(int i = 0;i<8;i++){

fields[i].setText("");

}

fields[0].requestFocus();//设置光标的位置,在第一个文本框上面

}

else if(e.getSource() == 修改){

try{

rs = sql.executeQuery("select * from goods");

while(rs.next()){

for(int i = 0;i<8;i++){

strings[i]=rs.getString(i+1);

}

if(strings[1].trim().compareTo(inputText.getText().trim())==0){

for(int i = 0;i<8;i++){

fields[i].setText(strings[i]);

}

}

}

fields[0].setEditable(false);

fields[1].setEditable(false);

}

catch(SQLException ee){

ee.printStackTrace();

}

}else if(e.getSource() == 确认修改){

String sqlString = "UPDATE goods SET shangpinhao =

'"+fields[0].getText()+"',shangpinming='"+fields[1].getText()+"',jinhuojia='"+fields[2].getText()+" ',shouji='"+fields[3].getText()+"',zhekoujia='"+fields[4].getText()+"',yuliang='"+fields[5].getText( )+"',yuliangyujingzhi='"+fields[6].getText()+"',gongyingshang='"+fields[7].getText()+"'where shangpinming ='"+inputText.getText()+"'";

try{

sql.execute(sqlString);

JOptionPane.showMessageDialog(this, "操作成功!","消息对话框

",https://www.sodocs.net/doc/136164624.html,RMA TION_MESSAGE);

//更新表格中的数据

for(int i = deModel.getRowCount()-1;i>=0;i--){

deModel.removeRow(i);

deModel.fireTableStructureChanged();

}

rs = sql.executeQuery("select * from goods");

while(rs.next()){

for(int j = 0;j<8;j++){

strings[j]=rs.getString(j+1);

}

deModel.addRow(strings);

deModel.fireTableStructureChanged();//更新中的数据

}

}

catch(SQLException ee){

ee.printStackTrace();

}

for(int i = 0;i<8;i++){

fields[i].setText("");

}

fields[0].setEditable(true);

fields[1].setEditable(true);

inputText.setText("");

fields[0].requestFocus();//设置光标的位置,在第一个文本框上面

}

else if(e.getSource() == 删除){

String sqlString = "DELETE FROM goods WHERE shangpinming = '"+inputText.getText().trim()+"'";

try{

sql.execute(sqlString);

//将表格中的内容清空

for(int i = deModel.getRowCount()-1;i>=0;i--){

deModel.removeRow(i);

deModel.fireTableStructureChanged();

}

rs = sql.executeQuery("select * from goods");

while(rs.next()){

for(int i = 0;i<8;i++){

strings[i]=rs.getString(i+1);//把查询的结果填入表格中

}

deModel.addRow(strings);

deModel.fireTableStructureChanged();//更新中的数据

}

JOptionPane.showMessageDialog(this, "操作成功!","消息对话框",https://www.sodocs.net/doc/136164624.html,RMA TION_MESSAGE);

inputText.setText("");

}

catch(SQLException ee){

ee.printStackTrace();

}

}

else if(e.getSource()==退出)

{

this.dispose();

}

}

}

进入第二菜单(供应商管理界面):

在此界面下可进行供应商的增删改查操作:

设计代码如下:

package source;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

import javax.swing.*;

import javax.swing.table.DefaultTableModel;

import java.util.Date;

@SuppressWarnings("serial")

public class SupplierManage extends JFrame implements ActionListener{ JTable table;

JLabel label;

JTextField inputText;

String []name = {"添加时间","供应商","联系电话","地址","邮箱","备注"};

String []strings = new String[6];

JButton 修改,删除,添加,退出,确认修改;

JPanel p;

JLabel []labels = new JLabel[5];

JTextField []fields = new JTextField[5];

Box baseBox,box1,box2;

JSplitPane split;//拆分窗格

(完整版)java课程设计——客户管理系统源代码

完整代码: 1.客户类(class person): package客户管理系统; public class Person { private int num; private String name; private String address; private String sex; public Person(){} public Person(int num,String name,String address,String sex){ this.num=num; https://www.sodocs.net/doc/136164624.html,=name; this.address=address; this.sex=sex; } public void setNum(int num){ this.num=num; } public int getNum(){ return num; } public void setName(String name){ https://www.sodocs.net/doc/136164624.html,=name; } public String getName(){ return name; } public void setAddress(String address){ this.address=address; } public String getAddress(){ return address;

} public void setSex(String sex){ this.sex=sex; } public String getSex(){ return sex; } public String toString() { return"\t"+num+"\t"+name+"\t"+address+"\t"+sex; } } 2.菜单类(class Menu): package客户管理系统; import java.util.Scanner; public class Menu { Scanner input=new Scanner(System.in); public Menu() {} public int showMenu() { System.out.println("***********************************" ); 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("***********************************" ); System.out.print("请选择操作:");

JAVA课程设计打砖块(含代码)

Java程序课程设计任务书 一、主要容 打砖块游戏是一种动作电子游戏的名称。玩家操作一根萤幕上水平的“棒子”,让一颗不断弹来弹去的“球”在撞击作为过关目标消去的“砖块”的途中不会落到萤幕底下。球碰到砖块、棒子与底下以外的三边会反弹,落到底下会失去一颗球,把砖块全部消去就可以破关。 二、具体要求 通过图形用户界面(Graphics User Interface,GUI)和线程,使用户和程序之间可以方便地进行交互。运用Swing组件,编写小应用程序游戏,加深对Java语言的理解,深入地了解图形用户界面的设计,更加熟练地运用编程软件。 功能要求: (1)游戏运行需键盘的操作; (2)游戏可统计分数; (3)球落到底下会失去一颗,按ENTER可重新开始。 开发工具:JCreater软件; 开发技术:J2ME。 三、进度安排 12月28日:课程设计选题,查找参考资料 12月29日:完成打砖块游戏程序设计分析 12月30日~ 1月3日:完成程序代码的编写 1月4日~ 1月5日:游戏测试与完善 1月6日~ 1月7日:完成课程设计报告,准备答辩 四、主要参考文献 [1] (美)埃克尔著昊鹏,饶若楠等译. Java编程思想[J]. 机械工业,2005 [2](美)Gary J.Bronson著珑雅文译. Java编程原理[J]. 清华大学,2004 [3](美)Michael Morrison著徐刚,于健,薛雷译. 游戏编程入门[J]. 人民邮电,2005.9 [4](美)Wendy Stahler著冯宝坤,曹英译. 游戏编程中的数理应用[J]. 红旗,2005

[5](美)克罗夫特(David Wallace Croft)著彭晖译. Java游戏高级编程[J]. 清华大学,2005 [6](美)David Brackeen著邱仲潘译. Java游戏编程[J]. 科学,2004 [7] 聂庆亮编著. Java应用开发指南[J]. 清华大学,2010 [8] 耿祥义,跃平编著. Java面向对象程序设计[J]. 清华大学,2010 [9] 绍方编著. Java编程实用技术与案例[J]. 清华大学,2000.11 [10] 明日科技编著. Java编程全能词典[J]. 电子工业,2010 摘要 随着Java语言的不断发展和壮大,现在的Java已经广泛的应用于各个领域,

java记事本课程设计论文附源码

设计题目:记事本课程设计 专业:电子信息科学与技术 班级:电子1202班 学号:20121210606 姓名:王鹏 2015 年7月

XXX学院本科学生课程设计任务书

摘要 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此次课程设计主要通过编写一个简单的记事本程序使我们深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等内容。此简易记事本程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能。该程序主要用到了Java swing和事件监听等。 关键词记事本程序,java语言,Java swing

目录 摘要 (1) 1 需求分析 (3) 1.1需求分析 (3) 1.2功能设计 (3) 2 概要分析 (4) 2.1概要设计思想 (4) 2.2程序运行界面 (4) 2.3程序模块说明 (4) 2.4流程图 (5) 2.5程序相关说明 (6) 3 程序详细设计与分析 (8) 3.1构建菜单栏及其下拉菜单 (8) 3.2“文件”菜单操作的事件监听 (8) 3.3“编辑”、“格式”等菜单的事件监听 (10) 3.4异常处理 (11) 4 测试分析 (12) 5 源程序清单 (15) 结论 (22) 参考文献 (23)

1 需求分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 1.2功能设计 本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 1、菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。 2、“文件”有“新建”“打开”“保存”“另存为”“退出”五个子菜单:分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。 3、“编辑”中有“撤销”“剪切”“复制”“粘贴”“全选”“时间/日期”六个字菜单:用于撤销操作,剪切文字,复制文字,粘贴文字。全部选择,插入日期、时间。 4、“格式”菜单中有“自动换行”和“字体”两个子菜单。 5、“查看”菜单只是显示状态栏。 6、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。

文件加密与解密—Java课程设计报告

JAVA课程设计题目:文件的加密与解密 姓名: 学号: 班级: 日期:

目录 一、设计思路 (3) 二、具体实现 (3) 三、运行调试与分析讨论 (8) 四、设计体会与小结 (11) 五、参考文献 (12) 六、附录 (12)

一、设计思路 自从Java技术出现以业,有关Java平台的安全性用由Java技术发展所引发的安全性问题,引起了越来越多的关注。目前,Java已经大量应用于各个领域,研究Java的安全性对于更好地利用Java具有深远的意义。使用Java的安全机制设计和实现安全系统更具有重要的应用价值。 本课程设计,主要实践Java安全中的JCE模块,包括密钥生成,Cipher对象初始化、加密模式、填充模式、底层算法参数传递,也涉及文件读写与对象输入输出流。 二、具体实现 本系统通过用户界面接收三个参数:明文文件、密文文件、口令。采用DES加密算法,密码分组链(Cipher Block Chaining,CBC)加密模式,PKCS#5-Padding的分组填充算法。因为CBC涉及到底层算法参数的解密密钥的传递,所以将明文文件中的字节块以密封对象(Sealed Object)的方式加密后,用对象流输出到密文文件,这样就将密文、算法参数、解密密钥三都密封到一个对象中了。口令的hash值作为产生密钥的参数。设计流程图如下所示: 文件加密与解密设计流程图

本系统中,包含Default,Shares,SecretKey,EncAndDec四个包共6个类组成。定义的几个参数:MAX_BUF_SIZE为每次从文件中读取的字节数,也是内存缓冲区的大小;加密算法为DES;加密模式是密码分组链(CBC)模式;分组填充方式是PKCS#5Padding。包和类结构图如下所示: 本课程设计,包和类结构图: 以下为包中的类的方法实现说明 Package Shares类结构图

基于Java的超市管理系统

基于Java的超市管理系统 //看完删去此处红字内容 //第四章总结部分“指导老师×××”(红字标出)自己修改 姓名:_______________ 学院:_______________ 指导老师:_______________ 专业:_______________

摘要 随着零售业的快速发展,超市商品数量急剧增加,相关商品的各种信息也成倍增长。传统的人工管理方式已经逐渐不能适应当今零售业的需求。信息技术的广泛普及为各个行业提供了更加高效便捷的管理方式。本文针对超市商品的管理问题,在分析超市业务流程的基础上,设计了一套超市管理系统,实现对超市商品的进货、库存、销售等更方面的管理,以便于超市节约成本,提高效率,减少差错,扩大收益。 一个完整的软件系统必然离不开后台环境的支持,在此次设计中,我们主要以MySQL 数据库为基础,以Java语言为开发语言,使用Eclipse开发工具实行此系统的开发工作。 关键词:超市管理;Java;MySQL数据库;面向对象编程;

第一章绪论 (4) 1.1超市管理系统的开发背景 (4) 1.2系统设计的目的与意义 (4) 1.3 系统功能特点 (4) 第二章系统开发的理论基础 (5) 2.1 Java语言及其优势 (5) 2.2 MySQL数据库简介 (5) 2.3 开发工具Eclipse (5) 第三章超市管理系统分析与实现 (6) 3.1 超市基本业务流程与需求分析 (6) 3.2 系统模块设计 (7) 第四章总结 (9) 参考文献 (10)

第一章绪论 1.1超市管理系统的开发背景 随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,信息全球化的时代已经来临,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。 传统的超市管理模式存在诸多问题:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。随着超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。 当今的小型超市,它们信息化的速度、资金、技术等都比不上大中型超市,但是对于这些小超市的资源管理,信息的存储和处理也是非常必要的,要适应市场竞争,就需要有高效的处理方式和管理方法来提高劳动生产效率,才能获得最大的经济效益,因此加快小型超市的信息化进程也是必不可少的。对普通的超市来讲,涉及原材料的进货渠道,销售情况及库存等方面的管理,管理的好坏对超市的发展至关重要。 概括地讲,用户对进销存系统的需求具有普遍性。超市进销存管理系统适用于超市的采购,销售和仓库部门,对超市采购,销售及仓库的业务全过程进行有效控制和跟踪。使用超市进销存管理系统可有效减少盲目采购,降低采购成本,合理控制库存,减少资金占用并提高市场灵敏度,提升超市的市场竞争力。 1.2系统设计的目的与意义 (1)大大提高超市的运作效率。 (2)通过全面的信息采集和处理,辅助提高小型超市的决策水平。 (3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张能力提供有效的技术保障 1.3 系统功能特点 进货退货管理:包括进行商品采购入库,采购退货,进/退货信息查询,与供货商的往来账务。 销售管理:包括进行商品销售,销售信息进销售列表,当前销售信息查询,当期销售总金额统计,与客户的往来账务。

Java课程设计聊天室(含代码)

Java程序课程设计任务书 JAVA聊天室的系统的设计与开发 1.主要内容: 用JA V A实现基于C/S模式的聊天室系统。聊天室分为服务器端和客户端两部分,服务器端程序主要负责侦听客户端发来的信息,客户端需要登陆到服务器端才可以实现正常的聊天功能。 2.具体要求(包括技术要求等): 系统的功能要求: A.服务器端主要功能如下: 1.在特定端口上进行侦听,等待客户端连接。 2.用户可以配置服务器端的侦听端口,默认端口为8888。 3.向已经连接到服务器端的用户发送系统消息。 4.统计在线人数。 5.当停止服务时,断开所有的用户连接。 B.客户端的主要功能如下: 1.连接到已经开启聊天服务的服务器端。 2.用户可以配置要连接的服务器端的IP地址和端口号。 3.用户可以配置连接后显示的用户名。 4.当服务器端开启的话,用户可以随时登录和注销。 5.用户可以向所有人或某一个人发送消息。 学习并掌握一下技术:Java JavaBean 等 熟练使用一下开发工具:Eclipse,JCreator 等 实现系统上诉的功能。 3.进度安排: 12月28日~ 12月29日:课程设计选题,查找参考资料 12月30日~ 1月1日:完成系统设计 1月2日~ 1月5日:完成程序代码的编写 1月6日:系统测试与完善 1月7日:完成课程设计报告,准备答辩 4.主要参考文献: [1].张广彬孟红蕊张永宝.Java课程设计(案例精编)[M].清华大学出版社.2007年版

摘要 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。基于Java网络编程的强大功能,本次毕业设计使用Java编写一个聊天系统。 一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,本系统采用客户机/服务器架构模式通过Java提供的Soket类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的而Java提供的多线程功能用多线程可完成多点对多点的聊天,数据库管理系统用SQL Server2000完成并通过JDBC-ODBC桥访问数据库。 本系统建立在JAVA平台上,系统的设计使用了面向对象技术和面向对象的设计原则。系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过Socket传送消息。使用JAVA语言编写,开发工具采用Eclipse。服务器端设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程,执行不同的任务。大大增强了程序对服务器资源的利用。 聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息等等功能。 关键词:多线程;客户机/服务器;JA V A ;Socket ;Eclipse ;TCP/IP

学生信息管理系统java课程设计含源代码完整版

学生信息管理系统j a v a 课程设计含源代码 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 1 2 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的

JavaWeb超市管理系统

JavaWeb期中考试作业 作业都是基于老师所讲的内容上,所实现的,比如数据的查询,数据的修改,数据的添加,作业过程如下: 1、使用的学习工具:Myeclipse+MySql+ co.bin.DBUtil; 2、数据库的建立: (1)创建数据库SupMarket,并在数据库中创建SpTable、Saler表,内容如下: 创建数据库SupMarket; create database SupMarket; 创建表SpTable; create table SpTable( Txm varchar(255), Sno varchar(255), SpName varchar(255), SpValue varchar(255), SpDno varchar(255), SpTime varchar(255), primary key(Txm), foreign key(Sno) references Saler(Sno) ); 插入SpTable数据; insert into SpTable (Txm,Sno,SpName,Spvalue,SpDno,SpTime) values ('','201','脉动','5元','6','一年'); insert into SpTable (Txm,Sno,SpName,Spvalue,SpDno,SpTime) values ('','201','纯牛奶','3元','4','六个月'); insert into SpTable (Txm,Sno,SpName,Spvalue,SpDno,SpTime) values ('','203','面包','2元','3','两个月'); insert into SpTable (Txm,Sno,SpName,Spvalue,SpDno,SpTime) values ('','202','毛巾','12元','8','无'); insert into SpTable (Txm,Sno,SpName,Spvalue,SpDno,SpTime) values ('','202','牙膏','7.5元','5','一年'); insert into SpTable (Txm,Sno,SpName,Spvalue,SpDno,SpTime) values ('','203','方便面','2.5元','9','三个月'); 创建表Saler; create table Saler( Sno varchar(255), Sname varchar(255), Ssex varchar(255), Smanager varchar(255), primary key(Sno) ); 插入数据表Saler;

学生信息管理系统java课程设计(含源代码)

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩:

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

Java课程设计报告

湖北大学 本科课程设计 题目 ATM 自助机模拟程序姓名 学号 专业年级 指导教师 职称

目录 第一章系统描述 (2) 1 前言 (2) 2 系统功能需求 (2) 第二章系统分析与设计 (3) 1 功能模块划分 (3) 2 功能模块的描述 (3) 3 系统设计流程图 (4) 4 测试数据及期望结果 (6) 第三章系统详细设计 (7) 1 主界面开发设计 (7) 2 功能选择界面开发设计 (7) 3 取款界面开发设计 (7) 4 存款界面开发设计 (8) 5 转账界面开发设计 (8) 6 查询界面开发设计 (9) 7 修改密码界面开发设计 (9) 8 界面开发设计使用函数 (9) 第四章系统测试 (11) 第五章源程序部分清单 (21) 第六章实验心得 (30) 参考文献 (31)

第一章系统描述 1 前言 Java技术是一门简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言,它也是一个平台,它基于Java虚拟机技术,借助这个东西建立了跨平台的优势。Java编程语言与众不同之处在于:Java程序既是编译型的,又是解释型的。 Java平台是一种纯软件平台,它有三个版本Java SE、Java EE、Java ME。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 本课程设计采用Eclipse作为开发工具,并采用Window Builder下的SWT Designer来实现相应的功能。着重通过模拟实现当前非常快捷又使用的ATM机来加深对java开发设计的了解,从而进一步提高自己对java图像界面的设计及相关知识的认识。 2 系统功能需求 当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM 柜员机系统,用户可以按照以下规则进行: (1)查询余额:初始余额为10000元。 (2)ATM取款:每次取款金额为100的倍数,一次取款不能超过1000,总额不 超过5000元,支取金额不允许透支,有快捷取款和用户自定义取款。 (3)ATM存款:每次存款金额为100的倍数,一次存款不能超过1000,不能出 现负存款。 (4)ATM转账:只有在两次输入账号相同且输入转账金额正确的情况下才允许 转账,不允许透支。 (5)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只 有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

java超市管理系统实训报告

1.1 课程设计的目的 通过本次课程设计,使学生能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,最终开发出一个较为实用的数据库系统。 1.2 课程设计的背景和意义 1.2.1课程设计的背景 20世纪90年代后期特别是近几年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切的需要引进新的管理技术。 超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,改善了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。 1.2.2 课程设计的意义 “数据库课程设计”的设计思想旨在强调学生的实际编程能力的培养与创意灵感的发挥。为此,本课程结合学科特点,除了让学生掌握数据库原理的理论知识,还增加了需求功能让学生完成,并鼓励学生的创作出个性的程序,满足客户需求,与市场的实际项目相结合。学生对此热情高,实际收获大,效果好。通过课堂学习和参与相关项目设计,学生对书本支持有了深刻的理解,实践性教学取得了良好效果。 1.3 课程设计环境 操作系统:Windows xp 开发软件:Microsoft Visual Studio 2005 数据库:Microsoft SQL Server 2005 第2章系统需求分析 随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。

java(源代码)连连看课程设计

目录 第一章引言 (2) 1.背景 (2) 1.1课程设计内容 (3) 第二章系统介绍 (4) 1.连连看游戏规则 (4) 1.1游戏基本规则 (4) 1.2操作规则 (4) 1.3胜利和失败 (4) 2.游戏流程图分析 (4) 第三章系统游戏设计 (7) 1.系统分析 (7) 1.1游戏系统需求分析 (7) 1.2系统开发及运行环境 (7) 1.3系统功能主要要求 (7) 2.系统总体结构 (8) 3. 系统各模块功能介绍 (8) 第四章系统的具体实现 (9) 1.系统主要运行界面 (9) 1.1运行界面 (9) 1.2执行界面,进入游戏正常运行 (9) 1.3时间到界面 (10) 1.4赢家界面 (11) 1.5进度条界面 (12) 图4.5程序运行进度条 (12) 2.游戏实现代码 (12) 2.1主面板内所需要的组件的声明 (12) 2.2填充一个矩形框,进行显示时间 (12) 2.3主面板及各组件初始化 (13) 2.4创建时间对象,每隔100毫秒刷新一次 (13) 2.5分数代码。 (13) 3.消除图片具体情况 (14) 3.1两次点击相同图片相邻 (14)

3.2水平方向消去算法 (14) 3.3竖直方向消去算法 (15) 第五章程序清单 (16) 第六章结束语 (24) 第七章参考文献 (25) 第一章引言 1.背景 游戏“连连看”顾名思义就是找出相关联的东西,这个连连看在网上基本是用在小游戏中,就是找出相同的两样东西,在一定的规则之内可以做为相关联处理。“连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。 游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。这其中,顾方编写的“阿达连连看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。并于2004年,取得了国家版权局的计算机软件著作权登记证书。 随着Flash应用的流行,网上出现了多种在线Flash版本“连连看”。如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。 2008年,随着社交网络的普及和开放平台的兴起,“连连看”被引入了社交网络。“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏,其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。 网络小游戏、网页游戏越来越受网民欢迎,除了玩的方法简单外(不像其他游戏还需要注册下载繁琐过程),很多游戏不乏经典。连连看游戏就是典型。 不管走到哪个网页游戏网站,连连看游戏总是排在受玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络、单机休闲小游戏。 游戏《连连看》,只要将相同的两张牌用三根以内的直线连在一起就可以消除,规则简单容易上手。游戏速度节奏快,画面清晰可爱,适合细心的玩家。丰富的道具和公共模式的加入,增强游戏的竞争性。多样式的地图,使玩家在各个游戏水平都可以寻找到挑战的目标,长期地保持游戏的新鲜感。 该游戏由30张不同的图片组成,游戏开始将会出现30张随机组合的图片,在规则下点击两张相同的图片后图片将会消失。图片全部消完为游戏成功。游戏还将设置退出,再来一局的按钮,并实现该功能,方便用户进行操作。

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

JAVA-课程设计报告

《JA V A程序设计》 课程设计报告 设计题目:学生信息管理系统学院名称:信息工程学院 专业班级:13计本1 姓名: 学号:

目录 一需求分析。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 二概要设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 三详细设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 3.1 数据库设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 3.2 模块及窗体设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 3.2.1 数据库模块设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 3.2.2 用户登录识别模块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。5 3.2.3用户信息管理模块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。6 (1)密码修改。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。6 (2)用户信息添加和删除。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。8 3.2.4 学生息管理模块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10 (1)添加信息。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10 (2)信息查看。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11 (3)信息修改。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。12 (4)删除信息。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。14 3.2.5 系统管理模块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15 3.2.6 主窗体菜单设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15 四软件测试。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15 五总结。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15 参考资料:.......................................................17

基于java小型超市管理系统

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Arrays; import java.util.Scanner; public class Mytest { static int sign=0;//goodname数组第一个空下标号 static int sign1=0;//cname数组第一个空下标号 static String[] cpass=new String[20];//存放售货员名称 static String[] cname=new String[20];//存放售货员登入密码static String[] goodname=new String[20];//存放商品名称 static double[] goodprice=new double[20];//存放商品价格static int[] goodout=new int[20];//存放商品销售量 static int[] goodnum=new int[20];//存放商品数量 public static void main(String[] args)throws Exception { cname[0]="ZhouTian";//初始的售货员名称

Java英汉电子字典课程设计源代码

用户需求分析: 英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个简单的电子词的功能。该系统主要用于实现英汉互译的功能,系统拥有自己的数据库。 1.英译汉功能:我们可以先选择让系统进行英译汉功能,然后在查找框中输入想要查询的英文单词,系统将自动在数据库中查找匹配记录并给出相对应的汉语意思。 2.汉译英功能:我们可以在系统中选择汉译英功能,然后在查找框中输入想要查询的汉语意思,系统将自动在数据库中查找匹配记录并给出相对应的英文单词 3.词汇的添加功能:用户可以添加词库没有的单词及其解释。添加成功后该单词将在次库保存,以便下次查询。 4.词汇的修改功能;用户可以实现对词库中已有单词及其解释的修改。修改后的结果将保存在词库中。 5.词汇的删除功能;用户可自行删除词库中已有的单词,同时次单词的解释也将被一同删除。 6.其他功能:此外,系统还具有帮助和关于等功能,用来辅助用户更方便简洁的使用电子词典。 package dianzicidian; import java.awt.*; import https://www.sodocs.net/doc/136164624.html,.*; import java.sql.*; import java.awt.event.*; import javax.swing.JOptionPane; import java.io.*; import sun.audio.*; class dzcd extends Frame implements ActionListener { MenuBar menubar=new MenuBar();//菜单 Menu fileMenu,editMenu,helpMenu; MenuItem fileenglish,filechinese,exit,editAdd,editmod,editDel; TextField inputtext; TextArea txt; Label label1,label2; Button btn1,btnsound; Panel p,p1,p2,p3; dzcd() { super("电子词典"); setBounds(200,300,350,400); setMenuBar(menubar);

java课程设计-拼图游戏代码

package love; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.*; public class Games extends JFrame implements ActionListener { private JButton buttons[][];// 存储按键的数组 private Container container;// 一个容器 private GridLayout layout;// 布局方式为GridLayout private int count = 0, is[] = new int[8];// count的作用是计算按键移动的次数,is[]储存一个随机产生的1到8数字数组 public Games() { super("拼图游戏");// 设置标题 layout = new GridLayout(3, 3);// 3行3列 container = getContentPane();// 该容器的布局方式,及其重要,否则产生空引用异常 container.setLayout(layout);// 将该布局方式作用于容器 buttons = new JButton[3][3];// 给按键数组分配储存空间 int locate1, locate2;// locate1用来指示当前产生的元素 locate2用来指示locate1之前的元素 for (locate1 = 0; locate1 < 8; locate1++) {// 该方法作用是产生1到8这8个数,随机分配给数组,即无序排列 int g = new Random().nextInt(8) + 1;// 随机产生一个空白按键,即不显示的那个 is[locate1] = g; for (locate2 = locate1 - 1; 0 <= locate2; locate2--) { if (is[locate1] == is[locate2]) break; } if (locate2 != -1) locate1--; } int temp = 0; int r = new Random().nextInt(3);// 随机产生一个0到3的数,代表空白按键的行 int l = new Random().nextInt(3);// 随机产生一个0到3的数,代表空白按键的列 for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) {

相关主题