java模拟ATM机操作

public class ATM {
     
  public static int money=20000;//记录存款
  public static void main(String[] args)  {
     
   Scanner sc =new Scanner(System.in);
   while(true){
     
   System.out.println("----------【ATM机】-----------");
    System.out.println("----------1.【登录】-------------");
    System.out.println("----------2.【查询余额】-----------");
    System.out.println("----------3.【ATM 取款】 --------");
    System.out.println("----------4.【ATM 存款】--------------");
    System.out.println("----------5.【修改密码】--------------");
    System.out.println("----------6.【退卡】--------------");
    System.out.println();
    System.out.println("请输入您的选择:");
    int choose=sc.nextInt();
    switch(choose){
     
    case 1:
        boolean flag=denglu();
        if(flag)
         System.out.println("登录成功");
        else{
     
         System.out.println("登录失败");
         System.exit(0);  
        }
       break;
      case 2:
        selectmoney();
       break;
      case 3:
        getmoney();
       break;
      case 4:
       setmoney();
       break;
      case 5:
        modify();
       break;
      case 6:
        System.exit(0);
       break;
    }
   
   }
  }
  public static  boolean denglu(){
     
   Scanner sc =new Scanner(System.in);
   System.out.println("请输入卡号:");
   String card=sc.nextLine();
   System.out.println("请输入密码:");
   int password=sc.nextInt();
   List<User> users=UserDB.getuser();
   User user =new User(card,password);
   if(users.contains(user)){
     
    return true;
   }
   return false;
  }
  //查询余额
  public static  void selectmoney(){
     
   System.out.println("余额"+money+"元");
  }
  //取款
  public static  void getmoney(){
     
   //每次取款金额为 100 的倍数,总额不能超过 5000,支取金额不
   Scanner sc =new Scanner(System.in);
   System.out.println("请输入取款金额:");
   int m =sc.nextInt();
   if(m%100!=0||m>5000){
     
    System.out.println("取款失败");
   }else{
     
   money-=m;
   System.out.println("取款成功");  
   }
  }
  //存款
  public static  void setmoney(){
     
   Scanner sc =new Scanner(System.in);
   System.out.println("请输入存款金额:");
   int m =sc.nextInt();
   if(m<0){
     
    System.out.println("存款金额不能为负数");
   }else{
     
   money+=m;
   System.out.println("存款成功");  
   }
  }
  public static  void modify(){
     
   Scanner sc =new Scanner(System.in);
   System.out.println("请输入旧密码:");
   int password=sc.nextInt();
   if(password==123456){
     
    //新密码长度不小于 6 位,不允许出现 6 位完全相同的情况,只有
    //旧密码正确,新密码符合要求,且两次输入相同的情况才可以成功修改密码
      System.out.println("请输入新密码");
      int password1=sc.nextInt();
      System.out.println("请再次输入密码");
      int password2=sc.nextInt();
      if(password1<100000)
       System.out.println("密码小于6位");
      if(password1==password2){
     
       User user =new User("CD001",password1);
       UserDB.modifyuser(user);
       System.out.println("密码修改成功");
      }else{
     
       System.out.println("新密码错误");
      }
   }else{
     
    System.out.println("旧密码错误");
   }
   
  }
}
 class UserDB {
     
   private static ArrayList<User> list=new ArrayList<User>();
   
   static{
     
    list.add(new User("CD001",123456));
    
   }
   public static ArrayList<User> getuser(){
     
    return list;
   }
   public static void modifyuser(User user){
     
   list.add(user);
   }
 }
 class User {
     
    String username;
    int password;
 public User() {
     
  
 }
 public User(String username, int password) {
     
  this.username = username;
  this.password = password;
 }
 @Override
 public int hashCode() {
     
  final int prime = 31;
  int result = 1;
  result = prime * result + password;
  result = prime * result + ((username == null) ? 0 : username.hashCode());
  return result;
 }
 @Override
 public boolean equals(Object obj) {
     
  if (this == obj)
   return true;
  if (obj == null)
   return false;
  if (getClass() != obj.getClass())
   return false;
  User other = (User) obj;
  if (password != other.password)
   return false;
  if (username == null) {
     
   if (other.username != null)
    return false;
  } else if (!username.equals(other.username))
   return false;
  return true;
 }
    
 }

你可能感兴趣的:(java)