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 ;
其实你照着这些话一句句就已经写出来了...
public?class?BankAccount?{
String?account_number;
int?leftmoney;
public?BankAccount()?{
//?TODO?Auto-generated?constructor?stub
public?BankAccount(String?account_number,?int?leftmoney)?{
super();
this.account_number?=?account_number;
this.leftmoney?=?leftmoney;
public?void?savemoney(int?money)?{
leftmoney?+=?money;
public?void?getmoney(int?money)?{
if?(leftmoney?money)?{
leftmoney?-=?money;
}?else?{
System.out.println("账户余额不足");
public?int?getleftmoney()?{
return?leftmoney;
public?static?void?main(String[]?args)?{
ba.savemoney(1000);
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); // 执行提款动作
private?int?balance?=?0;
private?String?username?=?"A";
private?String?password?=?"B";
public?void?bank()?{
Scanner?scan?=?new?Scanner(System.in);
String?temp;
while?(true)?{
System.out.println("输入账号:");
if?(scan.hasNext())?{
temp?=?scan.next();
if?(temp.equals(username))?{
break;
System.out.println("输入错误");
System.out.println("输入密码:");
if?(temp.equals(password))?{
System.out.println("登录成功");
System.out.println("输入操作:");
switch?(temp)?{
case?"存款":
int?x?=?0;
System.out.println("输入存款金额:");
if?(scan.hasNextInt())?{
x?=?scan.nextInt();
scan.next();
balance?+=?x;
case?"取款":
int?y?=?0;
System.out.println("输入取款金额:");
y?=?scan.nextInt();
if?(balance?y)?{
System.out.println("余额不足");
continue;
balance?-=?y;
case?"余额":
System.out.println("余额:"?+?balance);
case?"终止":
System.exit(0);
default:
System.out.println("未知操作");
package com.lw.thread;
/*
银行账户类Account(不能透支),
*/
public class Account {
private String id;
private int password;
private String name;
private double balence;
public String getId() {
return id;
public void setId(String id) {
this.id = id;
public int getPassword() {
return password;
public void setPassword(int password) {
this.password = password;
public String getName() {
return name;
public void setName(String name) {
this.name = name;
public double getBalence() {
return balence;
public void setBalence(double balence) {
this.balence = balence;
public Account() {
this.id = "1111111111111111";
this.name = "钱三多";
public Account(String id, int password, String name, double balence) {
* 查询余额
public static double selectMoney(Account account) {
return account.getBalence();
* 存钱
public static String setMoney(Account account, double balence) {
if (balence 0) {
return "存钱失败,请正确放入!";
double d = balence + account.getBalence();
account.setBalence(d);
return "您存入了" + balence + "元,现账户余额为+" + d;
* 取钱
public static String getMoney(Account account, double balence) {
double d = account.getBalence();
if (balence d) {
return "您的余额不足!";
account.setBalence(d - balence);
return "您取出了" + balence + "元,现账户余额为+" + account.getBalence();
以上就是土嘎嘎小编为大家整理的银行账户代码编写java相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!