网站首页 > 文章中心 > 其它

银行开户销户java代码_银行开户销户 自由吗

作者:小编 更新时间:2023-09-04 16:39:48 浏览量:346人看过

JAVA编写银行账户程序摸拟银行账户的存\取款操作

public class ATM {

public static void main(String[] args) {

// 开立帐号

Account account = new Account();

// 在 account 中存 10,000 元

account.setBalance(10000);

// 检查 account 中的存款

System.out.println("帐户原始金额 : " + account.getBalance() + " 元");

// 小明, 小华与小英一起对 account 进行提款的动作

s1.start();

}

//帐户

class Account {

private int balance; // 帐户馀额

public int getBalance() { // 取得帐户馀额

return balance;

public void setBalance(int money) { // 设定帐户馀额

balance = money;

// 提款方法

public void withDraw(Account account, int withdrawMoney) {

String tName = Thread.currentThread().getName(); // tName=提款人

System.out.println(tName + " 开始提款 ... ");

boolean withDrawStatus; // 提款状态 说明:false=提款失败, true=提款成功

synchronized(ATM.class) {

int tmpBalabce = account.getBalance(); // 取得最新帐户馀额

//用 for-loop 模拟提款时系统所花的时间

// ... 提款进行中 ...

tmpBalabce = tmpBalabce - withdrawMoney; // 最新帐户馀额 - 欲提款金额 (用来判断是否馀额足够的依据)

if (tmpBalabce 0) { // 判断是否馀额足够

withDrawStatus = false;

System.out.println("....................");

System.out.println(" 帐户馀额不足!");

} else {

withDrawStatus = true;

account.setBalance(tmpBalabce); // 回存account最後剩馀金额

System.out.println(tName + "的交易单:");

System.out.println("\t欲提款金额:" + withdrawMoney + "元");

System.out.println("\t帐户馀额:" + account.getBalance());

if(withDrawStatus == true){

System.out.println(tName + " 完成提款 ... ");

System.out.println(tName + " 提款失败 ... ");

System.out.println("-------------------------------");

// 提款类别

class WithDraw extends Thread {

private Account account; // 帐号

private int withdrawMoney; // 欲提款的金额

// tName:执行绪名称, account:Account物件名称, withdrawMoney:欲提款金额

public WithDraw(String tName, Account account, int withdrawMoney) {

setName(tName);

this.account = account;

this.withdrawMoney= withdrawMoney;

public void run() {

// 执行提款动作(account:帐号, withdrawMoney 欲提款金额)

account.withDraw(account, withdrawMoney); // 执行提款动作

用java编的银行账户系统代码

package pack.money.persistent;import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.ArrayList;import pack.money.entity.Client;

import pack.money.entity.ClientMessage;

public class ClientPersistent {

//private static int a=0;

private static String t,b;//t是password b是clinetname

private static ClientPersistent sp;

public static ClientPersistent getClientPersistent() {

if (sp == null) {

sp = new ClientPersistent();

return sp;

private ClientMessage getClientMessage(ResultSet rs) throws Exception{

ClientMessage student=new ClientMessage();

student.setMoney(rs.getFloat("money"));

student.setType(rs.getString("type"));

student.setClientName(rs.getString("ClientName"));

student.setTransactionID(rs.getInt("TransactionID"));

return student;

public Client login(Connection con,String ClientName,String password) throws Exception{

String sql="select balance,password,ClientName from Client where ClientName=? and password=?";

PreparedStatement ps=con.prepareStatement(sql);

ps.setString(1, ClientName);

ResultSet rs=ps.executeQuery();

t=password;

b=ClientName;

System.out.println(t);

System.out.println(b);

if(rs.next()){

Client client=new Client();

client.setClientName(rs.getString("ClientName"));

client.setPassword(rs.getString("password"));

return client; }

throw new Exception("Can not login, the accountID or password has error. ");

} public void save(Connection con ,String money)throws Exception

{ // a++;

String s="save";

float g=Float.parseFloat(money);

String sql="update Client set balance=balance+? where ClientName=?";

String sql1="insert into ATMTransaction(ClientName,Type,money) values(?,?,?) ";

PreparedStatement ps1=con.prepareStatement(sql1);

ps.setFloat(1, g);

//ps1.setInt(1,a);

ps1.setString(1,b);

ps.executeUpdate();

ps1.executeUpdate();

public void withDraw (Connection con ,String money)throws Exception

{ //a++;

String s="WithDraw";

float x=Float.parseFloat(money);

String sql="update Client set balance=balance-? where ClientName=?";

String sql1="insert into ATMTransaction(ClientName,Type,money) values(?,?,?)";

ps.setFloat(1, x);

throws Exception

{

if(t.equals(OldPassWord))

String sql="update Client set password=? where ClientName=?";

ps.setString(1, newPassWord1);

String j="dsfasdf";

return j;

else

{System.out.print("确认密码错误!");br return null;}

{ return null;

public ArrayListClientMessage disPlayAll(Connection con ) throws Exception

String sql="select * from ATMTransaction where ClientName=? ";

ps.setString(1,b);

System.out.println(b+"****b****");

ArrayListClientMessage message=new ArrayListClientMessage();

while(rs.next()){

message.add(this.getClientMessage(rs));

return message;

public float showBalance(Connection con ) throws Exception

String sql="select balance from Client where ClientName=?";

ps.setString(1, b);

if(rs.next())

float s;

s=rs.getFloat("balance");

return s;

else return 0 ;

用JAVA编程设计一个银行账户类,其中包括以下内容,并用字符界面模拟存款和取款过程.

import java.util.Scanner;

public class ZH {

private String zh;//账户

private String password;//密码

private String openTime;//开户时间

private String sfz;//身份证号

private double je;//存款金额

public String getZh() {

return zh;

public void setZh(String zh) {

this.zh = zh;

public String getPassword() {

return password;

public void setPassword(String password) {

this.password = password;

public String getOpenTime() {

return openTime;

public void setOpenTime(String openTime) {

this.openTime = openTime;

public String getSfz() {

return sfz;

public void setSfz(String sfz) {

this.sfz = sfz;

public double getJe() {

return je;

public void setJe(double je) {

this.je = je;

//存款方法

public void ck(double je){

this.je=this.je+je;//存入的金额加上原有的金额

//取款方法

public void qk(double je){

if(jethis.je){//取款金额大于余额

System.out.println("存款余额不足");

}else{

this.je=this.je-je;//原有的金额减去取出的金额

ZH zh = new ZH();//初始化一个账户信息

zh.setJe(10000.0);//向zh账户添加余额

zh.setZh("zhangsan");//向zh账户添加账号

System.out.println("欢迎光临模拟银行");

Scanner scan = new Scanner(System.in);

int count=0;//记录输入错误的次数

while(1==1){//循环

System.out.println("请输入账号");

String zhm=scan.next();

System.out.println("请输入密码");

String mm=scan.next();

if(zhm.equals(zh.getZh()) mm.equals(zh.getPassword())){//输入的信息与zh账户信息的密码和账号一致

while(1==1){

String cz=scan.next();

switch (Integer.parseInt(cz)) {

case 1:

System.out.println("请输入存款金额(输入小数)");

double ckje=scan.nextDouble();

zh.ck(ckje);

System.out.println("实施存款:"+ckje+"元,当前余额为"+zh.getJe()+"元");

break;

System.out.println("请输入取款金额(输入小数)");

double qkje=scan.nextDouble();

zh.qk(qkje);

System.out.println("实施取款:"+qkje+"元,当前余额为"+zh.getJe()+"元");

default:

System.out.println("退出操作");

System.out.println("已输入错误三次,账号被锁");

break;//结束循环

System.out.println("账号或密码错误,请重新输入");

count++;//错误一次count+1

continue;//进入下次循环

用java编写一个银行新用户现金业务办理程序

public?class?Account?{

protected?String?accId;

protected?String?name;

protected?double?money;

public?Account?(String?accId,String?name){

this(accId,name,0);

public?Account?(String?accId,String?name,double?money){

this.accId?=?accId;

this.name?=?name;

this.money?=?money;

public?void?saveMoney(double?money){

if(money?=?0){

System.out.println("存款金额必须大于0");

this.money?+=?money;

System.out.println("存款成功");

public?double?getMoney(double?money){

System.out.println("取款金额必须大于0");

return?0;

if(this.money?=?money){

System.out.println("余额不足,无法取款");

this.money?-=?money;

System.out.println("取款成功");

return?money;

public?double?getBalance(){

return?this.money;

protected?double?getOverdraft(){

//?实现了equals方法,list比较时才能正确

public?boolean?equals(Object?obj)?{

if(obj?==?null){

return?false;

if(this?==?obj){

return?true;

if(obj?instanceof?Account){

return?this.accId.equals(((Account)obj).accId);

public?String?toString()?{

return?"账户="?+?accId?+?",名字="?+?name?+?",余额="?+?money;

public?class?Bank?{

//?Account实现了equals方法,list查找时才能正确

private?ListAccount?usersAccounts;

public?Bank()?{

usersAccounts?=?new?ArrayListAccount();

public?void?addAccount(Account?account)?{

if?(usersAccounts.contains(account))?{

System.out.println("添加失败,不能添加同样的账户");

return;

usersAccounts.add(account);

public?boolean?delAccount(Account?account)?{

return?usersAccounts.remove(account);

public?boolean?delAccount(String?accId)?{

return?delAccount(new?Account(accId,?null));

public?boolean?existAccount(Account?account)?{

return?usersAccounts.contains(account);

public?boolean?existAccount(String?accId)?{

return?existAccount(new?Account(accId,?null));

public?Account?getAccount(String?accId){

return?usersAccounts.get(usersAccounts.indexOf(new?Account(accId,?null)));

public?double?getAllMoney()?{

//?不考虑是否溢出,只是把所有用户余额相加

double?result?=?0;

for?(Account?account?:?usersAccounts)?{

result?+=?account.getBalance();

return?result;

public?double?getAllOverdraft()?{

//?不考虑是否溢出

result?+=?account.getOverdraft();

public?int?getAccountNum()?{

return?usersAccounts.size();

public?int?getCreditAccountNum()?{

int?num?=?0;

//?instanceof?性能没有简单的方法快.

if?(account?instanceof?CreditAccount)?{

num++;

return?num;

public?int?getSavingAccountNum()?{

if?(account?instanceof?SavingAccount)?{

public?ListAccount?getAllAccount()?{

return?usersAccounts;

public?class?CreditAccount?extends?Account{

private?double?overdraft;

public?CreditAccount(String?accId,String?name){

super(accId,?name);

this.overdraft?=?1000;

public?CreditAccount(String?accId,String?name,double?money){

this(accId,?name,money,1000);

public?CreditAccount(String?accId,String?name,double?money,double?overdraft){

super(accId,?name,money);

this.overdraft?=?overdraft;

public?double?getMoney(double?money)?{

if(this.money?+?overdraft?=?money){

public?double?getOverdraft(){

return?overdraft;

return?"账户="?+?accId?+?",名字="?+?name?+?",余额="?+?money?+?",透支="?+?overdraft;

public?class?SavingAccount?extends?Account?{

public?SavingAccount(String?accId,?String?name)?{

public?SavingAccount(String?accId,?String?name,?double?money)?{

super(accId,?name,?money);

return?super.getMoney(money);

public?double?getOverdraft()?{

return?super.getOverdraft();

public?class?Test?{

private?static?Bank?bank?=?new?Bank();

public?static?void?main(String[]?args)?{

Test.genAccount();

//?开户

bank.addAccount(a1);

showNowAccount();

//?销户

bank.delAccount("1");

//?存款

acc.saveMoney(100);

//?取款

System.out.println("余额="?+?acc.getBalance());

acc.getMoney(100);

acc.getMoney(1000);

acc.getMoney(10000);

System.out.println(bank.getAccountNum());

System.out.println(bank.getAllMoney());

System.out.println(bank.getAllOverdraft());

System.out.println(bank.getCreditAccountNum());

System.out.println(bank.getSavingAccountNum());

public?static?void?genAccount(){

String?s?=?"1000?0000?0000?000";

Account?a?=?null;

for(int?i?=?1;?i?11;?i?++){

a?=?new?CreditAccount(s?+?String.valueOf(i),?"账户"?+?String.valueOf(i));

}?else?{

a?=?new?SavingAccount(s?+?String.valueOf(i),?"账户"?+?String.valueOf(i));

bank.addAccount(a);

public?static?void?showNowAccount(){

for(Account?account?:?bank.getAllAccount()){

System.out.println(account);

JAVA中声明银行账户类,成员变量包括帐号,储户姓名,开户时间,省份证号码,存款余额账户信息,成员方法包括开

import java.util.Scanner; public class bank

{ int number,id; int year,month,day; float money; String name; void set(int y,int m,int d)

{ year=y; month=m; day=d; } public String toString()

{ return year+"年"+month+"月"+day+"日"; } public float money1(int n)

{ if(moneyx) return 0; money=money-x; return money; } public static void main(String args[])

以上就是土嘎嘎小编为大家整理的银行开户销户java代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章