模拟ATM机将输入的数据插入数据库

ATM抽象类

public abstract class ATM {

    private double balance;
    private String idcard;
    private String password;
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public double getBalance() {
        return balance;
    }
    public void setBalance(double balance) {
        this.balance = balance;
    }
    public void balance()
    {

    }
    public boolean cunkuan(double cun)
    {
        if(cun >0)
        {
            balance += cun;
            System.out.println("存款成功!");
            return true;
        }
        else
        {
            System.out.println("您输入的存款数不正确,将退出该服务!");
            return false;
        }
    }
    public boolean qukuan(double qu)
    {
        if(qu <= balance)
        {   balance -=qu;
            System.out.println("取款成功!");
            return true;
        }
        else
        {
            System.out.println("取款失败,将退出该服务!");
            return false;
        }
    }
    //添加开户的抽象方法
    public abstract void kaihu();

}

ATM子类,并实现其开户的方法

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

public class ChildATM extends ATM {

    //添加抽象类的开户方法并实现该方法
    @Override
    public void kaihu() {
        System.out.println("*********************");
        System.out.println("您选择的为开户功能");
        System.out.println("请输入您的姓名:");
        ChildATM cs= new ChildATM();
        cs.setBalance(300);
        Scanner  sc = new Scanner(System.in);
        String name=sc.nextLine();
        for(int i=1;i>0;i++)
        {
            System.out.println("请输入您的身份证号");
            Scanner sc1= new Scanner(System.in);
            String idcard=sc1.nextLine();
            if(idcard.length()==18)
            {   //判断密码输入的次数
                for(i=0;i<3;i++)
                {
                    System.out.println("请输入您的密码");
                    String password =sc.nextLine();
                    int input =Integer.parseInt(password) ;
                    if(input >=100000 && input <1000000)
                    {
                        System.out.println("开户成功");
                        cs.setIdcard(idcard);
                        cs.setPassword(password);
                        break;
                    }
                    else
                    {
                        System.out.println("请输入6位数的密码");
                    }
                    System.out.println("您输入的密码有误,请重新输入"+"您的输入次数还有"+(2-i));

                }
                break;
            }
            else
            {
                System.out.println("身份证位数不正确,请继续输入");

            }
        }
            int account =(int)((Math.random()*10)*100000);
        System.out.println("您的账号为:"+account);
        //访问数据库
                //1.加载驱动,加载数据库提供的驱动类
                try {
                    Class.forName("oracle.jdbc.driver.OracleDriver");
                    //2.获取数据库的连接 :通过数据库的管理
                    //url:数据库的地址
                    //user:用户名
                    //password:密码
                    Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "test0816", "laoer123");
                    System.out.println("数据库连接成功");
                    //操作数据库
                    //3.获得操作数据库的声明
                    Statement st = conn.createStatement();
                    //4.DML增加数据
                    //执行更新操作
                    //返回值代表该操作值记录返回的条数
                    //将输入的数据存入数据库中

                    int i = st.executeUpdate("insert into account (a_id,a_name,a_password,a_idcard,a_balance)"+"values(‘"+account+"‘,‘"+name+"‘,‘"+cs.getPassword()+"‘,‘"+cs.getIdcard()+"‘,‘"+cs.getBalance()+"‘)");
                    System.out.println("操作数据成功,返回值="+i);
                    //关闭释放资源
                    st.close();
                    conn.close();
                    } 

                catch (ClassNotFoundException | SQLException e) {
                        e.printStackTrace();
                }

    }

}

ATM测试类

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

import unionpay.ChildATM;

public class TestBank {

    public static void main(String[] args) {
        System.out.println("银行自助终端系统");
        System.out.println("********************");
        System.out.println("0---------------开户");
        System.out.println("1---------------查询");
        System.out.println("2---------------存款");
        System.out.println("3---------------取款");
        System.out.println("4---------------退出");
        ChildATM ca= new ChildATM();
        for(int i=1;i>0;i++){
            System.out.println("请输入您要选择的功能");
            Scanner sc = new Scanner(System.in);
            int num=sc.nextInt();
            switch(num)
            {
                case 0:
                ca.kaihu();
                break;            }        }   }}

时间: 2024-10-25 20:13:18

模拟ATM机将输入的数据插入数据库的相关文章

模拟ATM机银行系统

淄博汉企Java基础考核项目 模拟银行自助终端系统 一. 本系统模拟银行用户使用ATM机开户.查询.存款.取款功能,要求使用java语言编程实现. 说明: 1. 对于数据输入异常,可使用java异常处理机制进行处理. 2. 评分将以功能实现与代码规范性相结合的方式进行考核. 3. 如果对项目需求有疑问,可以随时以QQ留言方式联系我进行咨询. 4. 国庆放假期间,每天都有老师在公司值班,10月4日是我在公司值班,10月7日正常上班,欢迎大家到公司来做项目. 二. 项目功能要求: 项目开始运行显示主

模拟ATM机功能(C语言)

/* fuction:模拟ATM机存取功能 date:2014/8/20 by:zhouhaiou*/ #include <stdio.h>#include <string.h>#include <math.h>int money=100000; void query();void transf(); void welcome()//欢迎界面 { printf("\t\t*********************************************

文件及输入输出流模拟ATM机

题目:两部分要求都要实现. 一.ATM机的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,操作日期(Date),操作类型,账户密码(六位的数字,可以用0开头),当前的余额(可以为0). 模拟ATM的功能设计,用户插卡后显示选择语言界面,输入密码界面,用户输入正确密码(用户输入错误密码,则提示该卡已被锁定,无法操作),则弹出选择界面:存款.取款.转账汇款.修改密码.查询余额. 选择"取款",则显示100元.500元.1000元.1500元.2000元

C/s从文件(TXT)中读取数据插入数据库

流程: 1.当按钮单击时,弹出OpenFileDialog 2.判断后缀名是否合法 3.导入数据库 按钮事件中的代码: 1.判断用户是否选中文件. 2.判断用户选择的文件是否为txt //第一步,当按钮被点击时,弹出选择文件框,OpenFileDialog OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "文件文件|*.txt"; if (ofd.ShowDialog() == DialogResult.OK) { if

利用NPOI读取Execl数据插入数据库

首先你得准备NPOI的dll文件 这里提供百度云链接: 链接:https://pan.baidu.com/s/1EavAso5hztTbuexgb9XsvA 提取码:jyk6 前台代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="导入到数据库.aspx.cs" Inherits="导入到数据库" %> <!DOCTYPE html> &

用python进行网页爬取,数据插入数据库

用python进行网页信息的爬取还是很简单的,而且现在进行爬取的 在爬取之前,确定好自己的网页,然后用F12(查看网页源代码,然后确定网页的),这里就以一个简单的,页面布局简单的页面进行讲解:http://jbk.39.net/yyz/jbzs/ 先来看下页面的布局,以及我们想要进行页面的信息: 就这个页面,我们想要从这里面将页面中的疾病的名称,还有就是疾病的介绍,以及疾病的基本信息(是否属于医保.别名.发病部位.传染性...) 代码很简单: #!/usr/bin/env python # co

01、模拟ATM机界面程序

一.概述 设计一个简单的模拟自动取款机ATM界面的程序,实现用户登录及取款等功能. 二.需求分析 (1)模拟自动取款机ATM界面,有常用功能. (2)主要功能包括;用户输入密码登录主界面.取款功能.取款后显示取款金额和剩余金额.退出功能等. (3)程序实现的界面包括“ ① 输入正确密码进入主目录界面 ② 执行取款界面 ③ 显示取款金额和剩余金额界面 ④ 退出系统界面 三.设计思路 设计一个常用的自动取款机界面,要包括常用的功能,如取款,显示取款金额,以及剩余金额.先要用户输入密码,密码不正确并输

模拟ATM机存取款(调用方法)

先是main主方法 public static void main(String[] args) { Scanner wx=new Scanner(System.in); for(int i=1;;i++){ System.out.println("欢迎来到爱存不存银行"); System.out.println("请选择交易类型:1 存钱 2 取钱 3 查询余额 4 退出"); int num=wx.nextInt(); if(num==1){ add(); Sy

模拟ATM机系统

const readline = require('readline-sync'); let users = [ ['zhangsan', '123123', 1000], ['lisi', '000', 2000], ['1', '2', 3000] ]; // 登录 let login = function () { let error = 3; while (true) { console.log('请输入用户名:'); let username = readline.question()