⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 account.java

📁 模拟银行的ATM自动取款机
💻 JAVA
字号:
import java.sql.*;
import java.util.Date;
import java.io.*;
public class Account{
private Connection con;
private Statement stmt;
private String cardNo;
private String passWord;
private String name;
private String ID;
private String tel;
private String dateTime;
private static int accountNo=13000;///////////////////////////////////////
private int cardState;
private float money;
public Account(){
cardNo=new String();
passWord=new String();
name=new String();
ID=new String();
tel=new String();
dateTime=new String();
}
public void connectData(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){
System.out.println(e.getMessage());
}
try{
con=DriverManager.getConnection("jdbc:odbc:Bank");
stmt=con.createStatement();
}catch(SQLException e1){
System.out.println("SQLException:"+e1.getMessage());
}
}
public void breakConnect(){
try{
stmt.close();
con.close();
}catch(SQLException e1){
System.out.println("SQLException:"+e1.getMessage());
}
}
public int IsAccountExsit(String cardNo){
connectData();
try{
ResultSet rs=stmt.executeQuery("SELECT * FROM AccountTab WHERE cardNo="
       +"'"+cardNo+"'");
if(!rs.next()){
breakConnect();
return 0;
}
else{
this.cardNo=cardNo;
passWord=rs.getString(2);
money=Float.parseFloat(rs.getString(3));
ID=rs.getString(4);
name=rs.getString(5);
tel=rs.getString(6);
cardState=rs.getInt(7);
dateTime=rs.getString(8);
breakConnect();
if(cardState==0) return -1;
else return 1;
}
}catch(SQLException e1){
System.out.println("SQLException:"+e1.getMessage()+"\n检查帐户失败");
return 0;
}
}
public boolean checkPassWord(String password){
if(this.passWord.equals(passWord)) return true;
else return false;
}
public float showMoney(){
return money;
}
public boolean draw(float money){
if(this.money-1<money){
return false;
}
else{
this.money-=money;
connectData();
try{
stmt.executeQuery("UPDATE AccountTab SET money='"+String.valueOf(this.money)+"'WHERE"+
     "cardNo='"+cardNo+"'");
breakConnect();
return true;
}catch(SQLException e1){
System.out.println("SQLException:"+e1.getMessage()+"\n取款失败");
return false;
}
}
}
public void save(int money){
this.money+=money;
connectData();
try{
//AutoCommit(false);
//PreparedStatement pstmt=con.prepareStatement("UPDATE AccountTab SET money=?"
//      +"WHERE cardNo=?");
//pstmt.setFloat(1,this.money);
//pstmt.setString(2,cardNo);
//pstmt.executeUpdate();
//pstmt.close();
//con.commit();
//con.setAutoCommit(true);
String we=String.valueOf(this.money);
stmt.execute("UPDATE AccountTab SET money='"+we+"' WHERE "
     +"cardNo='"+cardNo+"'");
breakConnect();
}catch(SQLException e1){
System.out.println("SQLException:"+e1.getMessage()+"\n存款失败");
}
}
public int showCardState(){
return cardState;
}
public boolean createNewAccount(String ID,String name,String tel,int money){
connectData();
try{
if(!stmt.execute("SELECT * FROM AccountTab WHERE ID='"+ID+"'"))
return false;
cardNo=String.valueOf(accountNo++);
this.money=money-100;
cardState=1;
for(int i=1;i<6;i++)
passWord+=String.valueOf((int)(Math.random()*9)+1);
Date date=new Date();
int year=date.getYear();
int month=date.getMonth();
int day=date.getDay();
int hour=date.getHours();
int min=date.getMinutes();
int sec=date.getSeconds();
String dateTime=String.valueOf(year)+"/"+String.valueOf(month)+"/"
           +String.valueOf(day)+" "+String.valueOf(hour)+":"
           +String.valueOf(min)+":"+String.valueOf(sec);        
PreparedStatement pstmt=con.prepareStatement(
  "INSERT INTO AccountTab VALUES(?,?,?,?,?,?,?,?)");
pstmt.setString(1,cardNo);
pstmt.setString(2,passWord);
pstmt.setString(3,String.valueOf(this.money));
pstmt.setString(4,ID);
pstmt.setString(5,name);
pstmt.setString(6,tel);
pstmt.setInt(7,cardState);
pstmt.setString(8,dateTime);
pstmt.executeUpdate();
pstmt.close();
breakConnect();
System.out.println("-----------现在打印客户开帐信息(只有客户可见)--------"
                   +"\n-----------客户:"+name+"于"+dateTime+"开帐成功---------"
                   +"\n-----------帐号为:"+cardNo
                   +"   初始密码为:"+passWord+"-----------"
                   +"\n---------请你尽快到本银行各网点或ATM机修改初始密码-------");
return true;
}catch(SQLException e1){
System.err.println("SQLException:"+e1.getMessage()+"\n创建帐户失败");
return false;
}
}
public void changeCardState(){
if(cardState==0) cardState=1;
else cardState=0;
connectData();
try{
stmt.execute("UPDATE AccountTab SET cardState='"+cardState+"' WHERE "
    +"cardNo='"+cardNo+"'");
breakConnect();
}catch(SQLException e1){
System.err.println("SQLException:"+e1.getMessage()+"\n修改信用卡失败");
}
}
public void changePassWord(String passWord){
connectData();
this.passWord=passWord;
try{
stmt.execute("UPDATE AccountTab SET passWord ='"+passWord+"' WHERE "
     +"cardNo ='"+cardNo+"'");
breakConnect();
}catch(SQLException e1){
System.err.println("SQLException:"+e1.getMessage()+"\n修改密码失败");
}
}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -