-
import java.sql.*;
-
import java.util.*;
-
public class ATM1 {
-
String code;
-
int pass;
-
double money;
-
int i=1;
-
//检查登录
-
public void checkLogin(){
-
int i=1;
-
while(i<=3){
-
System.out.print(“请输入您的卡号:”);
-
Scanner sc=new Scanner(System.in);
-
String code_=sc.nextLine();
-
System.out.print(“请输入您的密码:”);
-
int pass_=sc.nextInt();
-
try{
-
//加载驱动
-
Class.forName(“com.mysql.jdbc.Driver”);
-
//建立连接
-
java.sql.Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/atmdb”,“root”,“root”);
-
//创建sql传送对象
-
Statement stmt = conn.createStatement();
-
//将sql语句通过sql传送对象传送到数据库并执行,返还结果集
-
String sql = “select * from account where code='”+code_+“‘and pass=”+pass_;
-
ResultSet rs = stmt.executeQuery(sql);
-
//当账号、密码与sql中的账号与密码相对应的时候
-
//把sql中的相关数据传送到目前变量以便进行数据操作
-
if(rs.next()){
-
code = rs.getString(1);
-
pass = rs.getInt(2);
-
money = rs.getDouble(3);
-
loadSys();
-
}
-
rs.close();
-
stmt.close();
-
conn.close();
-
}
-
//捕获异常
-
catch (Exception e){
-
System.out.println(e);
-
}
-
//出现三次错误之后提示
-
i++;
-
if( i == 3){
-
System.out.print(“您已经输错三次密码,该卡已经被锁,请及时到相关网点咨询!”);
-
}
-
}
-
}
-
//保存数据
-
//注意;下面的关键字( “pass、code、money”)要与数据库中的名字一样,避免出现错误
-
public void saveDb(){
-
try{
-
Class.forName(“com.mysql.jdbc.Driver”);
-
java.sql.Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/atmdb”,“root”,“root”);
-
Statement stmt = conn.createStatement();
-
String sql=“update account set pass =”+pass+” where code='”+code+“‘”;
-
//dode为String型,所以要用‘’括起来
-
String sql1=“update account set money=”+money+” where code='”+code+“‘”;
-
stmt.executeUpdate(sql); //update操作进行数据更新
-
stmt.executeUpdate(sql1);
-
stmt.close();
-
conn.close();
-
}
-
catch (Exception e){
-
System.out.println(e);
-
}
-
-
}
-
//欢迎界面
-
public static void welcome(){
-
System.out.println(“!*****************************************!”);
-
System.out.println(“!*************欢迎使用华夏银行*************!”);
-
System.out.println(“!*****************************************!”);
-
}
-
//系统主界面
-
public void loadSys(){
-
System.out.println(“.————————————.”);
-
System.out.println(“1 查询余额 存款 2”);
-
System.out.println(“3 取款 修改密码 4”);
-
System.out.println(“5 退出 “);
-
System.out.println(“.————————————.”);
-
System.out.print(“请输入相应的功能选项数字:”);
-
Scanner sz=new Scanner(System.in);
-
int num=sz.nextInt();
-
switch(num){
-
case 1:
-
chaxun();
-
break;
-
case 2:
-
cunkuan();
-
break;
-
case 3:
-
qukuan();
-
break;
-
case 4:
-
xiugai();
-
break;
-
case 5:
-
quit();
-
break;
-
default:
-
System.out.println(“您输入的数字有误!”);
-
loadSys();
-
}
-
}
-
//查询余额
-
public void chaxun(){
-
System.out.println(“您卡上的余额为:” +money);
-
loadSys();
-
}
-
//存款
-
public void cunkuan(){
-
System.out.print(“请输入存款金额:”);
-
Scanner ck=new Scanner(System.in);
-
double money1=ck.nextDouble();
-
money=money+money1;
-
saveDb();
-
System.out.println(“您卡上的余额为:” +money);
-
System.out.println(“请收好您的卡!”);
-
loadSys();
-
}
-
//取款
-
public void qukuan(){
-
System.out.print(“请输入取款金额:”);
-
Scanner qk=new Scanner(System.in);
-
double money2=qk.nextDouble();
-
if(money2>money){
-
System.out.println(“您的余额不足!”);
-
qukuan();
-
}else{
-
money=money-money2;
-
saveDb();
-
System.out.println(“您卡上的余额为:” +money);
-
System.out.println(“请收好您的现金!”);
-
loadSys();
-
}
-
}
-
//修改密码
-
public void xiugai(){
-
int cs = 0;
-
System.out.print(“请输入原密码:”);
-
Scanner mm=new Scanner(System.in);
-
int pass1=mm.nextInt();
-
System.out.print(“请输入新密码:”);
-
int pass2=mm.nextInt();
-
System.out.print(“请再次输入新密码:”);
-
int pass3=mm.nextInt();
-
if(pass==pass1&& pass2==pass3){
-
System.out.println(“修改密码成功!”);
-
pass=pass2;
-
saveDb();
-
loadSys();
-
}else{
-
if(cs<2){
-
System.out.print(“您输入的密码有误!”);
-
cs++;
-
xiugai();
-
}else{
-
quit();
-
}
-
}
-
}
-
//退出
-
public void quit(){
-
System.exit(1);
-
}
-
//主函数
-
public static void main(String args[]){
-
/*try{
-
Class.forName(“com.mysql.jdbc.Driver”);
-
java.sql.Connection conn = DriverManager.getConnection( “jdbc:mysql://localhost:3306/atmdb”,”root”,”root”);
-
Statement stmt = conn.createStatement();
-
String sql = “select * from account”;
-
ResultSet rs = stmt.executeQuery(sql);
-
while (rs.next()){
-
String code = rs.getString(1);
-
int pass = rs.getInt(2);
-
double money = rs.getDouble(3);
-
System.out.println(code+”|”+pass+”|”+money);
-
}
-
rs.close();
-
stmt.close();
-
conn.close();
-
}
-
catch(Exception e){
-
System.out.println(e);
-
}*/
-
ATM1 atm = new ATM1();
-
atm.welcome();
-
atm.checkLogin();
-
}
-
}
java中ATM与数据库Mysql的连接
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。