java作业 ATM存款机

阅读: 评论:0

java作业 ATM存款机

java作业 ATM存款机

java大作业 ATM存款机

英语能力不强 变量 包名 类名 方法名 起名并不规范 请谅解

使用时注意打包
导入sql.jar文件
创建数据库表

程序启动入口

package ruansan.word.app;import ruansan.word.jiemian.DengLuGui;public class App {// 启动程序public static void main(String[] args) {// TODO Auto-generated method stubnew DengLuGui();}}

登陆界面 输入用户名密码进入主界面

package ruansan.word.jiemian;import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;import javax.swing.*;import ruansan.word.shuju.Array;
import hu.Preson;//创建登陆界面     
public class DengLuGui {public static Preson ps = null;private JFrame j;private Button b1, b2;private Label l1, l2;private TextField tf;private JPasswordField pas;// 调用方法 初始化界面public DengLuGui() {inti();}// 初始化界面public void inti() {// 创建窗体j = new JFrame("用户登陆");// 创建窗体 初始大小j.setBounds(500, 300, 350, 250);// 可见j.setVisible(true);// 不使用布局管理器j.setLayout(null);// 关闭按钮j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);l1 = new Label("用户名:");l1.setBounds(70, 40, 50, 25);j.add(l1);tf = new TextField();tf.setBounds(130, 40, 100, 25);j.add(tf);l2 = new Label("密码:");l2.setBounds(70, 75, 50, 25);j.add(l2);pas = new JPasswordField();pas.setBounds(130, 75, 100, 25);j.add(pas);b1 = new Button("登陆");b1.setBounds(70, 110, 50, 25);j.add(b1);b2 = new Button("退出");b2.setBounds(140, 110, 50, 25);j.add(b2);mEvent();}// 注册监听器private void mEvent() {// 退卡直接终止虚拟机b2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated it(0);}});// 登陆按钮b1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub// 创建用户类 吧输入的账号密码存进去Preson a = new Text(), Text(), 100);// 取出数据中的值存入集合中ArrayList<Preson> l = Array.way();// 判断输入的账号密码是否正确 正确取出对象的姓名密码和钱for (int i = 0; i < l.size(); i++) {Preson aa = l.get(i);if (a.getName().Name()) && a.getPass().Pass())) {ps = aa;new ZuoYeMain();}}}});}}

主界面

package ruansan.word.jiemian;import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.*;import ruansan.word.zsgcGui.AddBut;
import ruansan.word.zsgcGui.DeleteBut;
import ruansan.word.zsgcGui.SelectBut;//创建主界面
public class ZuoYeMain {private JFrame j;private Button b1, b2, b3, b4;// 调用方法 初始化界面public ZuoYeMain() {inti();}// 初始化界面public void inti() {// 创建窗体j = new JFrame("操作界面");// 创建窗体 初始大小j.setBounds(500, 300, 300, 200);// 可见j.setVisible(true);// 不使用布局管理器j.setLayout(null);// 关闭按钮j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);b1 = new Button("查询");b1.setBounds(80, 40, 40, 30);j.add(b1);b2 = new Button("存款");b2.setBounds(130, 40, 40, 30);j.add(b2);b3 = new Button("取款");b3.setBounds(80, 80, 40, 30);j.add(b3);b4 = new Button("退卡");b4.setBounds(130, 80, 40, 30);j.add(b4);Event();}// 注册监听器public void Event() {// 退卡直接终止虚拟机b4.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated it(0);}});// 查询余额事件 创建查询界面b1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub// 创建查询界面new SelectBut();}});// 存钱事件 创建存钱界面b2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub// 创建存钱界面new AddBut();}});// 取钱事件 创建取钱界面b3.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub// 创建取钱界面new DeleteBut();}});}}

数据库连接 和对数据库数据的处理 数据库名为Test 密码1234 表名为pre

package ruansan.word.shuju;import java.sql.*;//连接数据据
public class JDBC {// 开启连接public static Connection getConnection() throws Exception {Class.forName(&#sql.jdbc.Driver");Connection conn = Connection("jdbc:mysql://localhost:3306/Test", "root", "1234");return conn;}// 关闭连接public static void release(Statement stmt, Connection conn) {if (stmt != null) {try {stmt.close();} catch (Exception e) {e.printStackTrace();}stmt = null;}if (conn != null) {try {conn.close();} catch (Exception e) {e.printStackTrace();}conn = null;}}// 关闭连接public static void release(Statement stmt, ResultSet rs, Connection conn) {if (rs != null) {try {rs.close();} catch (Exception e) {e.printStackTrace();}rs = null;}if (stmt != null) {try {stmt.close();} catch (Exception e) {e.printStackTrace();}stmt = null;}if (conn != null) {try {conn.close();} catch (Exception e) {e.printStackTrace();}conn = null;}}}

对数据库数据处理

package ruansan.word.shuju;import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;import ruansan.word.jiemian.DengLuGui;
import hu.Preson;//数据处理类
public class Array {// 建立数据库连接 吧值封装对象并存入集合public static ArrayList<Preson> way() {Connection conn = null;Statement stmt = null;ResultSet rs = null;// 创建集合ArrayList<Preson> arr = new ArrayList<Preson>();try {// 建立连接 执行sql查询语句conn = Connection();stmt = ateStatement();String sql = "select * from pre";rs = uteQuery(sql);// 查询是否由内容while (rs.next()) {// 把sql的值整合成对象属性Preson pp = new Preson();pp.String("name"));pp.String("pass"));pp.Double("monkey"));// 添加到arr集合中arr.add(pp);}// 返回arr集合return arr;} catch (Exception e) {e.printStackTrace();} finally {// 关闭连接lease(stmt, rs, conn);}return null;}// 刷新登陆对象钱的值每次进行存取查都刷新一次public static double way2() {// 调用way方法 取出返回的集合 并赋值给 集合lArrayList<Preson> l = way();// 取出登陆界面的用户Preson a = DengLuGui.ps;for (int i = 0; i < l.size(); i++) {Preson aa = l.get(i);// 找到登陆时的用户 把用户的钱刷新 并且返回if (a.getName().Name()) && a.getPass().Pass())) {Monkey();}}return 0.0;}
}

用户类

package hu;//建立用户类
public class Preson {// 成员变量private String name;private String pass;private double monkey = 0;public Preson() {}// 构造方法public Preson(String name, String pass, double monkey) {key = monkey;this.name = name;this.pass = pass;}// 共有方法public String getName() {return name;}public void setName(String name) {this.name = name;}public double getMonkey() {return monkey;}public void setMonkey(double monkey) {key = monkey;}public String getPass() {return pass;}public void setPass(String pass) {this.pass = pass;}}

创建 存钱 取钱 查询方法

package ruansan.word.zsgc;import java.sql.*;import java.util.*;import ruansan.word.jiemian.DengLuGui;
import ruansan.word.shuju.Array;
import ruansan.word.shuju.JDBC;
import hu.Preson;//取钱 存钱 查余额具体类
public class Zsgca {// 获取登陆的对象private Preson a = DengLuGui.ps;public Zsgca() {}// 存钱方法 创建对象锁public synchronized String addAdd(double monkey) {// 刷新用户的余额 并把要存入的钱存入数据库double d = Array.way2() + monkey;// 获取sql主键String s = a.getName();Connection conn = null;PreparedStatement pe = null;try {// 建立连接conn = Connection();// sql修改语句String sql = "update pre set monkey='" + d + "'where name='" + s + "';";pe = conn.prepareStatement(sql);pe.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {// 关闭连接lease(pe, conn);}return "存钱成功存入的金额为" + monkey;}// 取钱方法  创建对象锁public synchronized String addDelete(double monkey) {// 刷新用户的余额double d = Array.way2();// 判断余额if (d < monkey) {return "对不起您的余额不足";} else {double dd = d - monkey;// 获取sql主键String s = a.getName();Connection conn = null;PreparedStatement pe = null;try {// 建立连接conn = Connection();// sql修改语句String sql = "update pre set monkey='" + dd + "'where name='" + s + "';";pe = conn.prepareStatement(sql);pe.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {// 关闭连接lease(pe, conn);}return "取钱成功取钱金额为" + monkey;}}// 查询方法  创建对象锁public synchronized String addSelet() {// 刷新用户的余额double d = Array.way2();return "您的余额为" + d;}
}

存钱界面

package ruansan.word.zsgcGui;import java.awt.*;import java.awt.event.*;import javax.swing.*;import ruansan.word.zsgc.Zsgca;//存钱窗体
public class AddBut extends JFrame {Zsgca z = new Zsgca();//创建Gui界面所需的窗体 按钮 文本框  标题框private JFrame j3;private Button ba1, ba2;private Label l;private TextField tf;public AddBut() {//创建窗体this.j3 = new JFrame("存钱");//初始位置 和窗体大小this.setBounds(500, 300, 300, 180);//可见this.setVisible(true);//不使用布局this.setLayout(null);//关闭按钮this.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);ba1 = new Button("确定");ba1.setBounds(50, 70, 40, 25);this.add(ba1);ba2 = new Button("返回");ba2.setBounds(110, 70, 50, 25);this.add(ba2);l = new Label("输入存入的金额:");l.setBounds(50, 30, 100, 25);this.add(l);tf = new TextField();tf.setBounds(160, 30, 70, 25);this.add(tf);aEvent();}// 注册监听器private void aEvent() {// 返回按钮ba2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub//返回不可见j3.setVisible(false);}});// 确定按钮 调用存钱方法ba1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub//获取文本框的内容 String s = tf.getText();//转换成数值型double monkey = Double.parseDouble(s);//调用存钱方法String d = z.addAdd(monkey);//输出存钱结果JOptionPane.showMessageDialog(j3, d);}});}
}

取钱界面

package ruansan.word.zsgcGui;import java.awt.*;import java.awt.event.*;import javax.swing.*;import ruansan.word.zsgc.Zsgca;//取钱窗体
public class DeleteBut extends JFrame {// 创建Gui界面所需的窗体 按钮 文本框 标题框Zsgca z = new Zsgca();private JFrame j4;private Button bd1, bd2;private Label l;private TextField tf2;public DeleteBut() {inti();}private void inti() {// 创建窗体j4 = new JFrame("取钱");// 初始位置 和窗体大小j4.setBounds(900, 300, 300, 180);// 可见j4.setVisible(true);// 不使用布局j4.setLayout(null);// 关闭按钮j4.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);bd1 = new Button("确定");bd1.setBounds(50, 70, 40, 25);j4.add(bd1);bd2 = new Button("返回");bd2.setBounds(110, 70, 50, 25);j4.add(bd2);l = new Label("输入取出的金额:");l.setBounds(50, 30, 100, 25);j4.add(l);tf2 = new TextField();tf2.setBounds(160, 30, 70, 25);j4.add(tf2);dEvent();}// 注册监听器private void dEvent() {bd2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub// 返回不可见j4.setVisible(false);}});// 确定按钮 调用取钱方法bd1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// 获取文本框的内容String s = Text();// 转换成数值型double monkey = Double.parseDouble(s);// 调用取钱方法String d = z.addDelete(monkey);// 输出结果JOptionPane.showMessageDialog(j4, d);}});}
}

查询界面

package ruansan.word.zsgcGui;import java.awt.*;import java.awt.event.*;import javax.swing.*;import ruansan.word.zsgc.Zsgca;//查询窗体
public class SelectBut {// 创建Gui界面所需的窗体 按钮 文本框 标题框Zsgca z = new Zsgca();private JFrame j5;private Button bs1, bs2;private TextField tf3;public SelectBut() {inti();}private void inti() {// 创建窗体j5 = new JFrame("查询");// 初始位置 和窗体大小j5.setBounds(1300, 300, 300, 180);// 可见j5.setVisible(true);// 不使用布局j5.setLayout(null);// 关闭按钮j5.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);bs1 = new Button("查询");bs1.setBounds(50, 70, 40, 25);j5.add(bs1);bs2 = new Button("返回");bs2.setBounds(110, 70, 50, 25);j5.add(bs2);tf3 = new TextField();tf3.setBounds(50, 30, 150, 30);j5.add(tf3);sEvent();}// 注册监听器private void sEvent() {// 返回按钮bs2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub// 返回不可见j5.setVisible(false);}});// 确定按钮bs1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub// 调用查询方法String s = z.addSelet();// 吧查询的值放入文本框中tf3.setText(s);}});}
}

本文发布于:2024-02-03 09:03:41,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170692221950020.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:作业   存款   java   ATM
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23