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

📄 client.java

📁 这个系统的功能是模拟ATM机的登陆、查询余额、取款、更改密码等功能
💻 JAVA
字号:
/*****************************************
 * <p>Title: ATM自动取款机</p>
 *
 * <p>Description: 模拟</p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author vinky_sc
 * @version 1.0
 *****************************************/
import java.sql.*;
import java.io.*;


public class Client {
    dataAccess data = new dataAccess();    
    public Client() {
    }

    //---------------------------------------
    //---------该方法用于 验证用户ID-----------
    //---------------------------------------
    public boolean checkAccount(String id)
    {
        String sql;
        sql = "select * from Account where ID='"+id+"'";
        if(data.getRow(sql)>0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    //---------------------------------------
    //---------该方法用于 验证用户密码---------
    //---------------------------------------
    public boolean checkPwd(String id,String password)
    {
        if(password.length()<6||password.length()>10)
        {
            return false;
        }
        else
        {
            String sql;
            sql = "select * from Account where PASSWORD='" + password +
                  "' and id='" + id + "'";
            if (data.getRow(sql) > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }

    //---------------------------------------
    //---------用于查询余额--------------------
    //---------------------------------------
    public float querybalance(String id)
    {
            ResultSet rs;
            String sql;
            sql="select * from Account where id='"+id+"'";
            float balance=0;
            try
            {
                    rs = data.getData(sql);
                    rs.next();
                    balance = rs.getFloat("BALANCE");
            }
            catch(Exception e)
            {
                    System.out.println(e.toString());
            }
            finally
            {
                    return balance;
            }
    }

    //---------------------------------------
    //------------获取密码--------------------
    //---------------------------------------
    public String getPAW(String id)
    {
        ResultSet rs;
        String sql;
        sql="select * from Account where id='"+id+"'";
        String paw ="123456";
        try
        {
            rs = data.getData(sql);
            rs.next();
            paw = rs.getString("PASSWORD");
        }
        catch(Exception e)
        {
            System.out.println(e.toString());
        }
        finally
        {
            return paw;
        }
    }

    //---------------------------------------
    //--------------取款操作------------------
    //---------------------------------------
    public int reducemoney(String id,float money)
    { 
    	atmScreen ss = new atmScreen();       
        String sql;        
        if(this.querybalance(id)<money||money>2000)
            return -3;//余额不足或是交易金额大于2000
        if(money<0)
            return -2;//交易金额不能为负        
	if(ss.getsum()<money)		
	    return -4;		
        if(money%100==0)
        {
            sql = "update Account set BALANCE = BALANCE-" + money +
                  " where id='" + id + "'";
            if (data.exeSql(sql))
            {       
            	ss.setsum(money);   
                return 1; //扣款成功
            }
            else
                return -1; //扣款未成功
        }
        else
        {
            int b = (int)money/100*100;
		    if(b == 0)		
				return -2;
			else
			{
		       	sql="update Account set BALANCE = BALANCE-"+b+" where id='"+id+"'";
		        if(data.exeSql(sql))
		        { 	 
		        	ss.setsum(b);		
		            return 0; //扣款成功            	   
		        }
		        else
		            return -1; //扣款未成功
			}
	    }
    }

    //---------------------------------------
    //--------------修改密码-----------------
    //---------------------------------------

    public boolean samepwd(String newpaw1)                 //判断新密码是否为同一个数字
    {                                                      //若相同修改不成功,不相同修改成功
        char a = newpaw1.charAt(0);                        //取新密码的第一个数字
        int i;
        for(i=0;i<newpaw1.length();i++)                    //判断后面的密码是否均与第一个相同
        {                                                  //只要有一个不相同返回true;否则返回false
            if(newpaw1.charAt(i)==a)
            {
                continue;
            }
            else
            {
            	return true;
            }         
        }
        return false;       
    }
    
    public boolean nonliect(String newpaw1)		//判断密码是否有非法字符
    {
    	for(int i=0;i<newpaw1.length();i++)
    	{
    		if(newpaw1.charAt(i)>='0'&&newpaw1.charAt(i)<='9')
    		{
    			continue;
    		}
    		else
    		{
    			return false;
    		}    		
    	}
    	return true;
    }

    public int changePaw(String id,String password,String oldpaw,String newpaw1,String newpaw2)
    {
        if(newpaw1.length()==0||newpaw1.trim().equals(" "))
        {
            return -3;//新密码为空或空格
        }
        else
        {
            if(newpaw1.length()>10||newpaw1.length()<6)
            {
                return -4;//新密码不合法
            }
            else
            {
                if (oldpaw.equals(password))                
                {
                	if(nonliect(newpaw1))
                	{
                
	                    if (newpaw1.equals(newpaw2))             
	                    {
	                        if(samepwd(newpaw1))                 //判断新密码是否为同一个数字
	                        {
	                            data.exeSql("UPDATE Account SET PASSWORD ='" +
	                                        newpaw1 +
	                                        "' WHERE ID ='" + id + "';");
	                            return 1; //修改成功
	                        }
	                        else
	                        {
	                            return 0;//密码每位都相同
	                        }
	                    }
	                    else
	                        return -1; //两次输入的密码不一致
	                 }
	                 else
	                 	return -5;
                }
                else
                {
                    return -2; //原密码输入错误
                }
            }
        }
    }
    public void exitcard()
    {
        System.exit(0);
    }
    public String readcard(String id)
    {
        return id;
    }

    protected void finalize()//析构函数
    {
        data.finalize();
    }
}

⌨️ 快捷键说明

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