文档库 最新最全的文档下载
当前位置:文档库 › JAVA课程设计-银行存取管理系统(所有代码)

JAVA课程设计-银行存取管理系统(所有代码)

JAVA课程设计-银行存取管理系统(所有代码)
JAVA课程设计-银行存取管理系统(所有代码)

《JA V A程序设计》

课程设计报告

设计题目:银行存取系统设计与实现

学院名称:信息工程学院

专业班级:13计本2

姓名:王田

学号:1312252233

目录

一需求分析。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3

二概要设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 三详细设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3

四模块中数据库访问。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 4.1数据库核对用户名和密码(登录)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 4.2向数据库添加一行(注册)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。4 4.3修改数据库中数据(取款、存款、转账、修改密码码)。。。。。。。。。。。。。。。。。。。。5 4.4查询数据库中数据(显示余额、查询修改)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。5 4.5删除数据库中一行(注销用户)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。6 五软件的整体规划。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。7 5.1登录界面。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。7 5.2用户业务界面。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。8 六数据库设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。8

七软件测试。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。8 7.1登录界面(已有用户登录不能登录其他用户)。。。。。。。。。。。。。。。。。。。。。。。。。。。9 7.2注册界面(有空文本框有提示)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。9 7.3用户主页(窗口关闭按钮不可以)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10 7.4存款。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10 7.5取款(余额不足有提示)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10 7.6转账(余额不足、卡号不存在都有提示窗口)。。。。。。。。。。。。。。。。。。。。。。。。。。。11 7.7查询修改(卡号不可修改)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11 7.8数据库截图。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11 7.9测试方法。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。12 八总结。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。12

一需求分析

本软件主要是为用户在银行自助服务的目的设计。主要业务包括注册、取款、存款、转账、修改密码、查询余额和查询修改信息等项目,一个用户只允许操作自己的信息,保证用户账户的安全。

二概要设计

主要设计可以为用户服务的ATM机客户端,用户可以在登录界面注册自己的卡号,登录后可以进行取款、存款、转账、修改密码、查询余额和查询修改信息的业务,所有操作都会保存数据库。实现银行自助服务的目的。

三将用户需求模块化

根据概要设计的原则来分析一下本项目的用户需求,并最终转化成用程序语言描述的模块。什么样的需求才是一个模块?模块应该具备如下几个特征。

(1)登录主界面:用类a来实现主界面的显示,用Denlu类中的checkUser(String k,String m)方法链接数据库核对用户名和密码是否正确,如果正确返回1,如果卡号不存在返回2,如果读取数据库失败返回3。

(2)用户注册:用类Zc来实现注册界面的显示,用Denlu类中的zhucezh(String name,String sex,String kahao,String mima,String phone)方法链接数据库,将新用户添加入数据库。

(3)用户主页:用类Zhuye来实现主页界面的显示,主页中包括业务有取款、存款、转账、修改密码、查询余额和查询修改信息,最后有退出按钮(不能使用窗口关闭按钮退出主页,一个用户登录其他用户不能登录)。

○1取款:用类Qukuan来实现取款窗口的显示,用Denlu类中的qukuan(long k,long j)方法链接数据库操作数据。

○2存款:用类Cunkuan来实现存款窗口的显示,用Denlu类中的cunkuan(long k,long j)方法链接数据库操作数据。

○3转账:用类Zuanzhang来实现转账窗口的显示,用Denlu类中的zhuanzhang(long k,long j)方法链接数据库操作数据。

○4修改密码:用类Xiugai来实现修改密码窗口的显示,用Denlu类中的gaimi(String y,String x)方法链接数据库操作数据。

○5查询余额:用类Xianshi来实现查询余额窗口的显示,用Denlu类中的chaxun()方法链接数据库操作数据。

○6查询修改:用类Chaxun来实现查改窗口的显示,用Denlu类中的chagai(String name,String sex,String phone)方法链接数据库操作数据。

○7注销:使用静态方法shanchu(String id)实现,注销时如果余额不为0,提示“取出余额在注销”。

四模块中数据库访问

JAVA课程设计-银行存取管理系统(源代码)

同学们,这里是银行存取管理系统的所有JAVA代码,下载复制粘贴就可以用。具体建包如下图:(按图片建立数据库)

数据库截图

所有源代码:

类:a.java

package zhuce;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class a extends JFrame {

static TextField Kahao=new TextField("1",20);

static JPasswordField Mima=new JPasswordField("110",15);

static boolean weiyi=false;

public a(){

JFrame f=new JFrame("银行管理系统");

f.setBounds(200,100,700,600);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setResizable(false);

Container c=getContentPane(); //必须继承JFrame类

c.setLayout(null);

c.setBackground(Color.blue);//不采用任何布局方式

f.add(c);

JLabel label1=new JLabel("欢迎您进入银行管理系统");

JLabel label2=new JLabel("银行卡号:");

JLabel label3=new JLabel("银行卡密码:");

label1.setFont(new Font("Serif",Font.BOLD,40));

label1.setForeground(Color.WHITE);

//label1.setBounds(300,200,400,300); //改变标签位置错误label2.setFont(new Font("Serif",Font.BOLD,20));

label2.setForeground(Color.WHITE);

label3.setFont(new Font("Serif",Font.BOLD,20));

label3.setForeground(Color.WHITE);

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

JButton button2=new JButton("注册");

BHandler h=new BHandler();

button1.addActionListener(h);

button2.addActionListener(h);

JPanel p1=new JPanel();

JPanel p2=new JPanel();

JPanel p3=new JPanel();

JPanel p4=new JPanel();

p1.setBounds(0,0,700,200); //改变面板位置错误p1.setBackground(Color.blue);

p1.add(label1);

p2.setBounds(0,200,700,50);

p2.setBackground(Color.blue);

p2.add(label2);

p2.add(Kahao);

p3.setBounds(0,250,700,50);

p3.setBackground(Color.blue);

p3.add(label3);

p3.add(Mima);

p4.setBounds(0,350,700,70); //改变面板位置错误

p4.setBackground(Color.blue);

p4.add(button1);

p4.add(button2);

c.add(p1);

c.add(p2);

c.add(p3);

c.add(p4);

f.setVisible(true);

}

public static void main(String args[]){

a b=new a();

}

public class BHandler implements ActionListener {

public void actionPerformed (ActionEvent event) {

if(event.getActionCommand()=="注册")

{

Zc zhuce=new Zc();

//zhuce.validate();

}

else if(event.getActionCommand()=="登录")

{

if(Denlu.checkUser(Kahao.getText(),Mima.getText())==1&&weiyi==false)

{

weiyi=true;

JOptionPane.showMessageDialog(a.this,"登录成功!");

Zhuye zhu=new Zhuye();

}

else if(weiyi==true)

{

JOptionPane.showMessageDialog(a.this,"请先退出已经登录的用户!");

}

else

{

JOptionPane.showMessageDialog(a.this,"卡号或者密码不正确!"); }

}

else

{

}

}

}

}

类:Chaxun.java

package zhuce;

import javax.swing.*;

import zhuce.Zhuanzhang.BHandler;

import java.awt.*;

import java.awt.event.*;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

public class Chaxun extends JDialog{

TextField name=new TextField(20);

TextField sex=new TextField(20);

TextField kahao=new TextField(20);

TextField phone=new TextField(20);

public Chaxun(JFrame m,String s){

super(m,s);

setBounds(350,150,400,400);

setVisible(true);

setModal(false);

setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

setResizable(false);

setLayout(null);

JLabel label1=new JLabel("客户个人信息查询与修改");

JLabel label2=new JLabel("姓名:");

JLabel label3=new JLabel("性别:");

JLabel label4=new JLabel("卡号:");

JLabel label5=new JLabel("手机号:");

label1.setFont(new Font("Serif",Font.BOLD,20));

label2.setFont(new Font("Serif",Font.BOLD,13));

label3.setFont(new Font("Serif",Font.BOLD,13));

label4.setFont(new Font("Serif",Font.BOLD,13));

label5.setFont(new Font("Serif",Font.BOLD,13));

kahao.setEditable(false); //卡号不可修改

JButton button1=new JButton("确定");

JButton button2=new JButton("取消");

BHandler h=new BHandler();

button1.addActionListener(h);

button2.addActionListener(h);

JPanel p1=new JPanel();

JPanel p2=new JPanel();

JPanel p3=new JPanel();

JPanel p4=new JPanel();

JPanel p5=new JPanel();

JPanel p6=new JPanel();

p1.setBounds(0,0,400,70);

p1.add(label1);

p2.setBounds(0,70,400,50);

p2.add(label2);

p2.add(name);

p3.setBounds(0,120,400,50);

p3.add(label3);

p3.add(sex);

p4.setBounds(0,170,400,50);

p4.add(label4);

p4.add(kahao);

p5.setBounds(0,220,400,50);

p5.add(label5);

p5.add(phone);

p6.setBounds(0,270,400,70);

p6.add(button1);

p6.add(button2);

add(p1);

add(p2);

add(p3);

add(p4);

add(p5);

add(p6);

try{

//1.注册驱动

String driverClassName = "com.mysql.jdbc.Driver";

Class.forName("com.mysql.jdbc.Driver");

//2.连接数据库

Connection conn =

DriverManager.getConnection("jdbc:mysql://localhost:3306/ren","root", "");

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery("select * from tablename where UserID='"+Integer.parseInt(a.Kahao.getText())+"'");

if(rs.next())

{

name.setText(rs.getString("Username"));

sex.setText(rs.getString("Usersex"));

kahao.setText(rs.getString("UserID"));

phone.setText(rs.getString("Userphone"));

rs.close();

stmt.close();

conn.close();

}

}

catch(Exception sqle){

System.err.println(sqle);

JOptionPane.showMessageDialog(Zhuye.z,"系统故障,请稍后在试!");

}

setVisible(true);

}

public class BHandler implements ActionListener {

public void actionPerformed (ActionEvent event) {

int x;

if(event.getActionCommand()=="确定")

{

x=Denlu.chagai(name.getText(),sex.getText(),phone.getText());

System.out.println(x);

if(x==1)

{ JOptionPane.showMessageDialog(Zhuye.z,"修改成功!

");dispose();}

else

{ JOptionPane.showMessageDialog(Zhuye.z,"修改出错!

");dispose();}

}

else if(event.getActionCommand()=="取消")

dispose();

}

}

}

类:Cunkuan.java

package zhuce;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class Cunkuan extends JDialog {

TextField jine=new TextField(10);

public Cunkuan(JFrame m,String s){

super(m,s);

setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);

setBounds(400,250,400,200);

setVisible(true);

setResizable(false);

setLayout(null);

JLabel label1=new JLabel("请输入存款的金额");

label1.setFont(new Font("Serif",Font.BOLD,20));

JLabel label2=new JLabel("金额:");

label2.setFont(new Font("Serif",Font.BOLD,13));

JButton button1=new JButton("确认");

BHandler h=new BHandler();

button1.addActionListener(h);

JPanel p1=new JPanel();

JPanel p2=new JPanel();

p1.setBounds(0,0,200,70);

p1.add(label1);

p2.setBounds(25,70,400,50);

p2.add(label2);

p2.add(jine);

p2.add(button1);

add(p1);

add(p2);

setVisible(true);

}

public class BHandler implements ActionListener {

public void actionPerformed (ActionEvent event) {

if(!(jine.getText().equals("")))

{

int i=0;

i=Denlu.cunkuan(Integer.parseInt(a.Kahao.getText()),Integer.parseInt(jine.g etText()));

if(i==1)

{

JOptionPane.showMessageDialog(Zhuye.z,"成功存款"+jine.getText()+"元!");

dispose();

}

else

JOptionPane.showMessageDialog(Zhuye.z,"系统故障,请稍后在试!");

}

else

JOptionPane.showMessageDialog(Zhuye.z,"请输入存款金额!");

}

}

}

类:Denlu.java

package zhuce;

import java.sql.*;

public class Denlu {

public Denlu(){

}

public static int shanchu(String id)

{

long a=chaxun();

if(a==0)

{

try{

Class.forName("com.mysql.jdbc.Driver");

Connection conn =

DriverManager.getConnection("jdbc:mysql://localhost:3306/ren","root", "");

Statement stmt=conn.createStatement();

String sql="delete from tablename where

UserID='"+Integer.parseInt(id)+"'";

stmt.executeUpdate(sql);

stmt.close();

conn.close();

return 1;

}

catch(Exception sqle){

System.err.println(sqle);

return 3;

}

}

else

return 2;

}

public static int zhucezh(String name,String sex,String kahao,String mima,String phone)

{try{

//1.注册驱动

String driverClassName = "com.mysql.jdbc.Driver";

Class.forName("com.mysql.jdbc.Driver");

//2.连接数据库

Connection conn =

DriverManager.getConnection("jdbc:mysql://localhost:3306/ren","root", "");

Statement stmt=conn.createStatement();

String sql="insert into tablename values(?,?,?,?,?,?)";

PreparedStatement ps=(PreparedStatement) conn.prepareStatement(sql); ps.setString(1,kahao);

ps.setString(2,name);

ps.setString(3,mima);

ps.setString(4,phone);

ps.setString(5,sex);

ps.setInt(6,0);

ps.executeUpdate();

ps.close();

stmt.close();

conn.close();

return 1;

}

catch(Exception sqle){

System.err.println(sqle);

return 3;

}

}

public static int chagai(String name,String sex,String phone)

{

try{

//1.注册驱动

String driverClassName = "com.mysql.jdbc.Driver";

Class.forName("com.mysql.jdbc.Driver");

//2.连接数据库

Connection conn =

DriverManager.getConnection("jdbc:mysql://localhost:3306/ren","root", "");

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery("select * from tablename where UserID='"+Integer.parseInt(a.Kahao.getText())+"'");

if(rs.next())

{

stmt.executeUpdate("Update tablename set

Usersex='"+sex+"',Username='"+name+"',Userphone='"+phone+"' where UserID='"+Integer.parseInt(a.Kahao.getText())+"'");

rs.close();

stmt.close();

conn.close();

return 1;

}

}

catch(Exception sqle){

System.err.println(sqle);

return 3;

}

return 2;

}

public static int gaimi(String y,String x)

{

long p;

p=checkUser(a.Kahao.getText(),y);

if(p==1)

{

try{

//1.注册驱动

String driverClassName = "com.mysql.jdbc.Driver";

Class.forName("com.mysql.jdbc.Driver");

//2.连接数据库

Connection conn =

DriverManager.getConnection("jdbc:mysql://localhost:3306/ren","root", "");

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery("select * from tablename where UserID='"+Integer.parseInt(a.Kahao.getText())+"'");

if(rs.next())

{

stmt.executeUpdate("Update tablename set UserPW='"+x+"' where UserID='"+Integer.parseInt(a.Kahao.getText())+"'");

rs.close();

stmt.close();

conn.close();

return 1;

}

}

catch(Exception sqle){

System.err.println(sqle);

return 3;

}

}

return 2;

}

public static long chaxun()

{

long j;

try{

//1.注册驱动

String driverClassName = "com.mysql.jdbc.Driver";

Class.forName("com.mysql.jdbc.Driver");

//2.连接数据库

Connection conn =

DriverManager.getConnection("jdbc:mysql://localhost:3306/ren","root", "");

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery("select * from tablename where UserID='"+Integer.parseInt(a.Kahao.getText())+"'");

if(rs.next())

{

j=rs.getInt("Useryue");

rs.close();

stmt.close();

conn.close();

return j;

}

catch(Exception sqle){

System.err.println(sqle);

return -2;

}

return -2;

}

public static int qukuan(long k,long j)

{

try{

//1.注册驱动

String driverClassName = "com.mysql.jdbc.Driver";

Class.forName("com.mysql.jdbc.Driver");

//2.连接数据库

Connection conn =

DriverManager.getConnection("jdbc:mysql://localhost:3306/ren","root", "");

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery("select * from tablename where UserID='"+k+"'");

if(rs.next())

{ j=rs.getInt("Useryue")-j;

if(j<0)

return 2;

stmt.executeUpdate("Update tablename set Useryue='"+j+"' where UserID='"+k+"'");

rs.close();

stmt.close();

conn.close();

return 1;

}

}

catch(Exception sqle){

System.err.println(sqle);

return 3;

}

return 0;

public static int cunkuan(long k,long j)

{

try{

//1.注册驱动

String driverClassName = "com.mysql.jdbc.Driver";

Class.forName("com.mysql.jdbc.Driver");

//2.连接数据库

Connection conn =

DriverManager.getConnection("jdbc:mysql://localhost:3306/ren","root", "");

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery("select * from tablename where UserID='"+k+"'");

if(rs.next())

{ j=rs.getInt("Useryue")+j;

stmt.executeUpdate("Update tablename set Useryue='"+j+"' where UserID='"+k+"'");

rs.close();

stmt.close();

conn.close();

return 1;

}

}

catch(Exception sqle){

System.err.println(sqle);

return 2;

}

return 0;

}

public static int zhuanzhang(long k,long j)

{

long i = 0;

long p = 0;

i=Denlu.cunkuan(k, 0);

if(i==1)

{

p=Denlu.qukuan(Integer.parseInt(a.Kahao.getText()), j);

if(p==1)

{

try{

//1.注册驱动

String driverClassName = "com.mysql.jdbc.Driver";

Class.forName("com.mysql.jdbc.Driver");

//2.连接数据库

Connection conn =

DriverManager.getConnection("jdbc:mysql://localhost:3306/ren","root", "");

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery("select * from tablename where UserID='"+k+"'");

if(rs.next())

{ j=rs.getInt("Useryue")+j;

stmt.executeUpdate("Update tablename set Useryue='"+j+"' where UserID='"+k+"'");

rs.close();

stmt.close();

conn.close();

return 1;

}

}

catch(Exception sqle){

System.err.println(sqle);

return 4;

}

}

return 2;

}

return 3;

}

public static int checkUser(String k,String m)

{

try{

//1.注册驱动

String driverClassName = "com.mysql.jdbc.Driver";

Class.forName("com.mysql.jdbc.Driver");

//2.连接数据库

Connection conn =

DriverManager.getConnection("jdbc:mysql://localhost:3306/ren","root",

"");

String temp_ID=k;

String temp_pass=m;

String sql_user="select userID,userPW from tablename where UserID=? and UserPW=?";

PreparedStatement pst=null;

pst=conn.prepareStatement(sql_user);

pst.setString (1,temp_ID); //为绑定变量赋值

pst.setString (2,temp_pass);

ResultSet rst=pst.executeQuery();

if(rst.next())

{

rst.close();

pst.close();

conn.close();

return 1;

}

else

return 0;

}

catch(Exception sqle){

System.err.println(sqle);

return 0;

}

}

}

类:Qukuan.java

package zhuce;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class Qukuan extends JDialog {

TextField jine=new TextField(10);

public Qukuan(JFrame m,String s){

super(m,s);

setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);

setBounds(400,250,400,200);

setVisible(true);

setResizable(false);

setLayout(null);

JLabel label1=new JLabel("请输入取款的金额");

label1.setFont(new Font("Serif",Font.BOLD,20));

JLabel label2=new JLabel("金额:");

label2.setFont(new Font("Serif",Font.BOLD,13));

JButton button1=new JButton("确认");

BHandler h=new BHandler();

button1.addActionListener(h);

JPanel p1=new JPanel();

JPanel p2=new JPanel();

p1.setBounds(0,0,200,70);

p1.add(label1);

p2.setBounds(25,70,400,50);

p2.add(label2);

p2.add(jine);

p2.add(button1);

add(p1);

add(p2);

setVisible(true);

}

public class BHandler implements ActionListener {

public void actionPerformed (ActionEvent event) {

if(!(jine.getText().equals("")))

{

int i=0;

i=Denlu.qukuan(Integer.parseInt(a.Kahao.getText()),Integer.parseInt(jine.ge tText()));

if(i==1)

{

JOptionPane.showMessageDialog(Zhuye.z,"成功取款"+jine.getText()+"元!");

dispose();

}

else if(i==2)

JOptionPane.showMessageDialog(Zhuye.z,"您的余额不足!");

else

{

JOptionPane.showMessageDialog(Zhuye.z,"系统故障,请稍后在试!");

dispose();

}

}

else

JOptionPane.showMessageDialog(Zhuye.z,"请输入取款金额!");

}

}

}

类:Xianshi.java

package zhuce;

import javax.swing.*;

import zhuce.Chaxun.BHandler;

import java.awt.*;

import java.awt.event.*;

public class Xianshi extends JDialog{

TextField yue=new TextField(10);

long i=0;

public Xianshi(JFrame m,String s){

super(m,s);

setBounds(400,250,400,150);

setVisible(true);

setModal(false);

setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

setResizable(false);

setLayout(null);

JLabel label1=new JLabel("您的余额为:");

label1.setFont(new Font("宋体",Font.BOLD,13));

JLabel label2=new JLabel("元。");

label2.setFont(new Font("宋体",Font.BOLD,13));

yue.setEditable(false);

JButton button1=new JButton("确认");

BHandler h=new BHandler();

button1.addActionListener(h);

JPanel p1=new JPanel();

JPanel p2=new JPanel();

p1.setBounds(0,30,400,50);

银行管理系统JAVA

1)Account.java类 package com.etp; import java.util.*; public abstract class Account { protected long id; protected String password; protected String name; protected String personId; protected String email; protected double balance; @Override public boolean equals(Object obj) { boolean rt=false; if(this==obj) rt=true; if(obj instanceof Account) { Account anotherAcc=(Account)obj; if(this.id==anotherAcc.id) rt=true; } return rt; } @Override public int hashCode() { return password.hashCode()+name.hashCode()+personId.hashCode()+email.hashCode(); } @Override public String toString() { return id+";"+password+";"+name+";"+personId+";"+email+";"+balance; } /** 无参构造体*/ public Account() { } /** 有参构造体,用于初始化对象的必要属性*/ public Account(long id, String password, String name, String personId,

(完整版)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.wendangku.net/doc/bf490706.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.wendangku.net/doc/bf490706.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("请选择操作:");

银行计算机储蓄系统

银行计算机储蓄系统 题目:银行帐户管理,储蓄业务管理处理系统 班级:计算机科学与技术(3)班设计者:易华丽 1 引言 1.1 编写目的 本报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本银行储蓄系统的软件开发过程,便于程序员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用 此文档进一步定制软件开发的细节问题,明确软件需求、安排项目规划与进度、组织软件开发与测试,便于用户与开发商协调工作。经过对该银行储蓄系统项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行需求分析。 1.2 背景 项目名称:银行计算机储蓄系统 用户:××银行 说明:现在的银行储蓄系统工作效率低,越来越不能满足广大人民群众的需要,人们希望能更方便更省时就可以办理储蓄业务;随着拥有多种银行卡的人群不断增长,人们急切希望有一种通用的银行卡以便随时随地在哪家银行都可以存款提款;现在计算机网络的高速发现使越来越多的人更喜欢在网购物、在家存款取款。在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们越益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。 1.3定义 银行储蓄应用系统软件:基本元素为构成银行储蓄及相关行为所必须的各种部分。 需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。 需求分析:包括提炼,分析和仔细审查已收集到的需求,以确保所有的风险承担者都明其含义并找出其中的错误,遗憾或其它不足的地方。 模块的独立性:是指软件系统中每个模块只涉及软件要求的具体的子功能,而

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课程设计银行管理系统

大连科技学院java程序设计课程设计(B) 题目银行取款管理系统 学生姓名姚伟奇专业班级计算机(Z)13-1 指导教师李红职称讲师 所在单位信息科学系软件工程教研室 教学部主任王立娟 完成日期 2016年9月30日

课程设计报告单 综合评定:(优、良、中、及格、不及格)指导教师签字:2016年9月30日

《java程序设计课程设计(B)》任务书 一、课程设计任务及要求: 任务:针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。 要求: (1) 根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。 (2)提交课程设计报告。 (3)指标: 要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。 二、工作量 2周(10个工作日)时间 三、计划安排 第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。 第2个工作日-第4个工作日:设计程序结构、模块图。 第5个工作日-第9个工作日:完成程序的编码,并且自己调试、测试。穿插进行课程设计报告的撰写。 第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。 指导教师签字: 2016年9月19日

目录 题目: (1) 1.需求分析 (1) 2.概要设计 (1) 3.详细设计 (2) 4.编码 (3) 5.调试分析 (11) 6.测试结果及运行效果 (11) 7.系统开发所用到的技术 (13) 8.课程设计总结 (14) 参考文献 (145) 附录全部代码 (16)

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、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。

银行存取款管理系统设计

题目:银行存取款管理设计 功能:能够输入和查询客户存款取款记录。在客户文件中,每个客户是一条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额;在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种。本系统能够输入客户存款或取款记录;根据客户姓名查询存款和取款记录。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、建立一个文件,输入客户的必要信息,能对文件进行显示、输入、修订、删除等。 3、进一步要求:完成客户姓名查询存款和取款记录,并能得到每次帐户总金额。 要求:1、用C语言实现系统; 2、利用结构体数组实现信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序加必要的注释。 课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。 一、系统简介 设计一个基于结构体数组的银行存取款管理系统,能实现对客户存取款信息进行录入、修改、删除、查询和输出等基本操作。 二、需求分析 银行存取款管理系统应实现以下功能: 1、能录入用户存取款的基本信息,包括客户姓名、性别、年龄、住址以及存取款日期、数目等基本信息,保存到结构体数组中。 2、能根据输入客户姓名进行存取款信息的查询以及修改、删除等操作。 3、能根据客户姓名进行查找后,以列表的方式将客户存取款信息显示在屏幕上。 三、概要设计 1、系统功能结构图 根据项目的开发要求,本系统划分成六个主功能模块:录入客户存取款信息模块、修改客户存取款信息模块、删除客户存取款信息模块、查询客户存取款信息模块、输出客户存取款模块和系统退出模块。系统功能结构图如下: 2、重要数据的数据结构设计

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、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的

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张随机组合的图片,在规则下点击两张相同的图片后图片将会消失。图片全部消完为游戏成功。游戏还将设置退出,再来一局的按钮,并实现该功能,方便用户进行操作。

银行存取款业务管理信息系统分析与设计

银行存取款业务管理信息系统分析与设计 学生学号: 学生姓名: 专业名称: 管理信息系统教师:

一、项目简介 (1)开发背景 随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,在银行帐目管理之中的应用日益增加。 近年来我国信息产业发展迅速,手工管理方式在银行帐目管理等需要大量事务处理的应用中已显得不相适应,采用IT技术提高服务质量和管理水平势在必行。目前,对外开放必然趋势使银行业直面外国银行巨头的直接挑战,因此,银行必须提高其工作效率,改善其工作环境。这样,帐户管理的信息化势在必行。 在传统的银行帐户管理中,其过程往往是很复杂的,繁琐的,帐户管理以入帐和出帐两项内容为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题,因此该过程需要进行信息化以利用计算机进行帐目管理。 系统开发的整体任务是实现银行帐户管理的系统化、规范化、自动化和智能化,从而达到提高企业管理效率的目的。 (2)主要功能需求 银行存取款系统是针对银行帐目的日常管理而设计。银行帐目管理系统不仅要求操作方便而且要求界面简洁,它还需要实现帐目管理,用户查询和查询统计功能。 以前的商业银行采用的是以各种票据通过人工操作方式进行的业务以前的每一个流程都通过填写各种票据人为的对这些票据进行管理和统计效率低下而且对这些票据记录的整理需要大量的人力和物力使企业成本很高;在大量的票据整理过程中还易发生各种错误如票据填错、漏填、丢失等使银行因此承受经济损失所以商业银行应该实施信息化管理提高效率进而增加经济效益。 利用计算机信息管理系统,能够更有效的实现银行存取款业务操作。 二、系统分析 (1)组织结构图

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_银行管理系统源代码

Java小型银行管理系统源代码(图形界面)accounts.java package Account; public class accounts { protected int id;//银行账号 protected String password;//用户密码 protected String name;//用户型号 protected String personId;//身份账号 protected int accountType;//账号类型,0代表储蓄卡,1代表信用卡 protected double balance;//账户余额。之所以定义为protected是让他的子类可以直接用,不需要通过方法来赋值。 protected double ceiling; public String getPassword(){ return password; } public void setPassword(String password){ this.password=password; } public String getName(){ return name; } public void setName(String name){ https://www.wendangku.net/doc/bf490706.html,=name; } public String getPersonId(){ return personId; } public void setPersonId(String personId){ this.personId=personId; } public int getAccountType(){ return accountType; }

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

用户需求分析: 英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个简单的电子词的功能。该系统主要用于实现英汉互译的功能,系统拥有自己的数据库。 1.英译汉功能:我们可以先选择让系统进行英译汉功能,然后在查找框中输入想要查询的英文单词,系统将自动在数据库中查找匹配记录并给出相对应的汉语意思。 2.汉译英功能:我们可以在系统中选择汉译英功能,然后在查找框中输入想要查询的汉语意思,系统将自动在数据库中查找匹配记录并给出相对应的英文单词 3.词汇的添加功能:用户可以添加词库没有的单词及其解释。添加成功后该单词将在次库保存,以便下次查询。 4.词汇的修改功能;用户可以实现对词库中已有单词及其解释的修改。修改后的结果将保存在词库中。 5.词汇的删除功能;用户可自行删除词库中已有的单词,同时次单词的解释也将被一同删除。 6.其他功能:此外,系统还具有帮助和关于等功能,用来辅助用户更方便简洁的使用电子词典。 package dianzicidian; import java.awt.*; import https://www.wendangku.net/doc/bf490706.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++) {

Java银行实训报告

xxxxxxx大学课程实训报告 ——数据库实训题目:银行管理系统 学院:计算机科学与技术学院 班级:xxx 姓名:xx 学号xx 指导教师:xxxx 2016年01 月04日~ 2016年01 月10日

实训成绩评定表 1.设计报告部分(30分) ①封面设计符合要求(3分); ②报告格式符合要求(7分); ③功能叙述完备,错别字少,章节段落分布合理,无抄袭或雷同现象(10分); ④排版质量高,图片处理且效果好(10分)。 2. 设计内容部分

3.成绩评定

目录 一、背景分析 (2) 二、目的 (2) 三、可行性分析 (2) 3.1技术上的可行性 (2) 3.2时间可行性 (2) 3.3 市场的可行性 (2) 四、性能需求 (3) 4.1系统处理的准确性和及性 (3) 4.2系统的开放性和系统的可扩充性 (3) 4.3系统的易用性和易维护性 (3) 4.4数据录入和处理的准确性和实时性 (3) 五、功能需求 (4) 六、系统功能分解 (4) 6.1整体功能分解 (4) 6.2用户操作分解 (5) 6.3业务员操作的分解 (5) 6.4整体功能 (7) 七、数据流图 (7) 7.1系统顶层数据流(DFD)图 (7) 7.2用户存款的数据流图 (8) 7.3用户取款的数据流图 (9) 7.4用户查询的数据流图 (10) 7.5整体数据流图 (10) 八、数据字典 (11) 九、总结 (12)

银行管理系统需求规格说明书 一、背景分析 随着社会的不断发展,计算机越来越普及。我们正处在一个信息时代,计算机无处不在,它进入各行各业,改变着人们的生活。银行系统事关民之财政,重中之重,然而它的管理模式也随着时代不断进步发展,为实现人们方便省时的办理银行储蓄业务,出现了银行计算机储蓄系统。银行储蓄系统可以为人们方便办理储蓄业务,使人们在互联网办理存款、取款、查帐等业务,以高效、安全、互联为主要特征,为储户足不出户,提供各项业务的综合办理。 二、目的 在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的银行储蓄业务系统,实现银行的金额交易自动化的计算机系统,为银行的决策层提供准确、精细、迅速的交易金额变动信息。 三、可行性分析 对于系统的实现部分我们进行了分析,通过对现有技术力量和软硬件条件的分析我们得出系统完全是可行性的。 3.1技术上的可行性 (1)系统用java编程实现; (2)数据库运用sql server2005来实现; (3)采用自顶向下的方案进行设计实现。 3.2 时间可行性 系统的实现为两个月,通过对各个阶段的分析我们得出时间的可行性,系统科学分配完成需求分析,软件设计,编码,测试等过程。 3.3 市场的可行性 由于银行管理系统的规模和标准化,传统的管理已经明显不能适应飞速发展的经济,此软件大大规范、方便的的适应了银行管理者的工作要求,具有很强的市场性。

银行存取款业务受理管理信息系统

交通灯的设计与实现 1 1 概论 十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。 在此次关于交通灯课程设计中控制系统主要有8255并行口、8253定时/计算器、8259单极中断控制器实验等芯片组成。整个课程设计通过8253定时功能和8259中断功能来实现交通灯控制系统。 1.1 8255芯片概述 1.1.1 8255内部结构图 1.1.2 8255的端口介绍 ·A口:是一个独立的8位I/O口,它的内部有对数据输入/输出的锁存功能。 ·B口:也是一个独立的8位I/O口,仅对输出数据的锁存功能。 ·C口:可以看作是一个独立的8位I/O口;也可看作是两个独立的4位I/O

陕西科技大学镐京学院课程设计(论文) 2 口。也是仅对输出数据进行锁存。 这三个端口均可看作是I/O口,但它们的结构和功能也稍有不同。 ·A组和B组的控制电路 这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。 A组控制电路用来控制A口及C口的高4位; B组控制电路用来控制B口及C口的低4位。 ·数据总线缓冲器 8位的双向的三态缓冲器。作为8255A与系统总线连接的界面,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。 ·读/写控制逻辑 读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号CS及系统读信号RD、写信号WR、复位信号RESET,还有来自系统地址总线的口地址选择信号A0和A1。 1.1.3 8255的工作方式及硬件线路连接 8255有三种工作方式,如下 方式0 简单输入/输出――查询方式;A,B,C三个端口均可。 方式1 选通输入/输出――中断方式;A ,B,两个端口均可。 方式2 双向输入/输出――中断方式。只有A端口才有 使8255端口A工作在方式0并作为输入口,读取Kl-K8个开关量,PB工作在方式0作为输出口。 硬件线路连接 8255 PC0-L3 PC1-7 PC2-L11 PC3-L15 PC4-L2 PC5-6 PC6-L10 PC7-L14 PB4-L1 PB5-L5 PB6-L9 PB7-L13 1.1.4 初始化程序 MOV AL,80H OUT EE,AL MOV AL,00

5_Java课程设计源代码

package zhouchuan; import java.applet.*; import java.awt.*; import java.awt.event.*; import https://www.wendangku.net/doc/bf490706.html,.*; public class zhouchuan extends Applet implements ActionListener { AudioClip clip; Button buttonPlay, buttonLoop, buttonStop; public void init(){ try{ URL url=new URL("file:"+"F://ding.wav"); clip=getAudioClip(url);}catch(Exception e){ } buttonPlay=new Button("开始播放"); buttonLoop=new Button("循环播放"); buttonStop=new Button("停止播放"); buttonPlay.addActionListener(this); buttonStop.addActionListener(this); buttonLoop.addActionListener(this); add(buttonPlay); add(buttonLoop); add(buttonStop); } public void stop(){ clip.stop(); } public void actionPerformed(ActionEvent e){ if(e.getSource()==buttonPlay) clip.play(); else if(e.getSource()==buttonLoop) clip.loop();

相关文档
相关文档 最新文档