银行案例

1.

public class TestBank 
{
    public static void main(String[] args) 
    {
        Bank bank = new Bank();
        bank.traverse();
        bank.registrationMenu();
        bank.traverse();
    }
}
 

2.

import java.util.Scanner;
import java.util.Random;
public class Bank 
{
    int size = 3;//有效数组下标
    User[] users = new User[5];
    public Bank(){
        User user = new User();
        user.setCardNo("6223123456");
        user.setIdentity("123456789101112131");
        user.setUsername("赵公民");
        user.setPassword("123456");
        user.setPhone("12345678911");
        user.setBalance(1000D);
        users[0] = user;
        users[1] = new User("6223123789" , "123456789101112131" , "杨辉" , "123456" , "12345678911" , 2122.0);
        users[2] = new User("6223456789" , "123456789101112131" , "冯光芒" , "123456" , "12345678911" , 221.0);
        

    }
    public void registrationMenu(){
        System.out.println("请输入您想要的操作1.登录2.注册:");
        int i = input.nextInt();
        switch(i){
            case 1:
            this.login();
            break;
            case 2:
            this.registered();
            this.login();
            break;
            default:
            System.out.println("输入有误,请重新输入");
            
        }
    }
    

    
    Scanner input = new Scanner(System.in);
    public void login(){//登录
        System.out.println("请输入卡号:");
        String no = input.next();
        System.out.println("请输入密码:");
        String pwd = input.next();
        User u = check(no , pwd);
        if (u != null)
        {
            this.showMenu(u);
        }
        else{
            System.out.println("卡号或密码错误");
        }

        

    }
    public User check(String cardno , String password){//验证
        for (int i = 0;i < size ;i++){
                if (cardno.equals( users[i].getCardNo() ) && password.equals(users[i].getPassword())){
                    return users[i];
                }
                
        }return null;
        
    }
    public void registered(){//注册
    
        System.out.println("请输入姓名:");
        String uname = input.next();

        String id;
        do{
            System.out.println("请输入身份证号:");
            id = input.next();
            
        }while(id.length() != 18);
        
        
        String phone;
        do{
            System.out.println("请输入手机号:");
            phone = input.next();
        }while(phone.length() != 11);
        
        
        String pwd;
        do{
        System.out.println("请输入密码:");
        pwd = input.next();
        }while(pwd.length() != 6);
        double balance;
        do{
        System.out.println("请输入想存入的金额:");
        balance = input.nextDouble();
        }while(balance < 0);
        
        
        User user3 = new User();
        user3.setCardNo(this.cardNumber());
        user3.setUsername(uname);
        user3.setIdentity(id);
        user3.setPhone(phone);
        user3.setPassword(pwd);
        user3.setBalance(balance);
        
        users[size] = user3;//将注册对象存入数组
        size++;
        
        System.out.println("注册成功,您的卡号为:" +user3.getCardNo());
    }
    public String cardNumber(){//获得卡号
        String before = "6223";
        Random random = new Random();
        int r = random.nextInt(900000);
        return before + (r + 100000);
    }
    
    
    
    
    public void showMenu(User u){//菜单
        int a;
        do{ 
        System.out.println("-------------------------------------------------------------------------------");
        System.out.println("请您输入您所需要的服务(1.消户2.存款3.取款4.转账5.查询余额6.修改密码0.退出:");
        System.out.println("-------------------------------------------------------------------------------");
        a = input.nextInt();
        switch(a){
            case 1:
            this.cancel(u);
            break;
            case 2:
            this.deposit(u);
            break;
            case 3:
            this.withdrawal(u);
            break;
            case 4:
            transfer(u);
            break;
            case 5:
            this.queryBalance(u);
            break;
            case 6:
            this.pWord(u);
            break;
            case 0:
            System.out.println("退出");
            return;

            default:
            System.out.println("输入有误,请重新输入");        
            break;
                
        }
    }while(a>0 || a<6);
    }
    public void cancel(User user){//消户
        int voide = 0;
        for(int i = 0;i < size;i++){
            if (users[i] == user){
                voide = i;
            }
        }
        for(int i = voide;i < size - 1;i++){
            users[i] = users[i + 1];
        }size--;
        
    }

    

    public void deposit(User depos){//存款
        System.out.println("请输入存款金额:");
        double money = input.nextDouble();
        depos.setBalance(depos.getBalance() + money);
        System.out.println("存款成功,总金额为:" +depos.getBalance());
    }
    
    
    
    public void withdrawal(User mine){//取款
            System.out.println("请输入取款金额:");
        double money = input.nextDouble();
        if(money < mine.getBalance())
        {
            mine.setBalance(mine.getBalance() - money);
            System.out.println("取款成功,剩余金额为:");
            System.out.println(mine.getBalance());
        }
        else{
            System.out.println("金额不足");
        }
    }
    public void transfer(User tran){//转账
        System.out.println("请输入对方卡号:");
        String no = input.next();
        System.out.println("请输入对方密码:");
        String pwd = input.next();
        User m = check(no , pwd);
        if (m != null){
            System.out.println("请输入转账金额:");
            double money = input.nextDouble();
            tran.setBalance(tran.getBalance() - money);
            System.out.println("转账成功,剩余金额为:" +tran.getBalance());
            m.setBalance(m.getBalance() + money);
            System.out.println("对方金额为:" +m.getBalance());
        }else{
            System.out.println("转账的卡号或密码错误");
        }
        
    }
    public void queryBalance(User qbalance){//查询余额
        System.out.println("您的余额为:" +qbalance.getBalance());
        
    }
    public void pWord(User pwd){//修改密码
        System.out.println("请输入将要修改的密码:");
        String newpassword = input.next();
        pwd.setPassword(newpassword);
        System.out.println("您的密码修改成功,新密码为:" +pwd.getPassword());
        
    }
    public void browse(){//遍历
        for (int i = 0; i < size;i++){
            System.out.println(users[i].getUsername());
        }
    }
    
    
}


 

3.

public class User 
{
    private String cardNo;//卡号
    private String identity;//身份证号
    private String username;//用户名
    private String password;//密码
    private String phone;//手机号码
    private double balance;//余额

    public User(){}
    public User(String cardNo , String identity , String username , String password , double balance){
        this.cardNo = cardNo;
        this.identity = identity;
        this.username = username;
        this.password = password;
        this.phone = phone;
        this.balance = balance;
    }    
        
        
    public User(String cardNo , String identity , String username , String password , String phone , double balance){
        this.cardNo = cardNo;
        this.identity = identity;
        this.username = username;
        this.password = password;
        this.phone = phone;
        this.balance = balance;


    }

    public void setCardNo(String cardNo){
        this.cardNo = cardNo;
    }
    public String getCardNo(){
        return this.cardNo;
    }


//-------------------------------------------
    public void setIdentity(String identity){
        this.identity = identity;
    }
    public String getIdentity(){
        return this.identity;
    }

//-------------------------------------
    public void setUsername(String username){
        this.username = username;
    }
    public String getUsername(){
        return this.username;
    }

//--------------------------------------
    public void setPassword(String password){
        this.password = password;
    }
    public String getPassword(){
        return this.password;
    }
//------------------------------------------

    public void setPhone(String phone){
            this.phone = phone;
    }
        public String getPhone(){
            return this.phone;
    }
//---------------------------------------

    public void setBalance(double balance){
        this.balance = balance;
    }
    public double getBalance(){
        return this.balance;
    }


    
}
 

发布了24 篇原创文章 · 获赞 69 · 访问量 1194

猜你喜欢

转载自blog.csdn.net/S9264L/article/details/104219158