华恩JAVA班第17天

来源:互联网 发布:淘宝客需要怎么做 编辑:程序博客网 时间:2024/06/05 10:04

华恩JAVA班第17天

import java.util.*;
public class BankApp
{
 static BankService bankService = newBankService();
 public static void main(String[] args)
 {
  Scanner sc = new Scanner(System.in);
  boolean flag = true;
  while (flag)
  {
   printWecomeInfo();
   println("请选择操作项:");
   int value =sc.nextInt();
   if(value == 1){
   //显示下一级菜单
   operBusiness(sc);
   }else if(value == 2){
    flag =false;
   }else{
   printWecomeInfo();
   }
  }
 }
 public static void operBusiness(Scannersc){
  boolean flag = true;
  Random rnd = new Random(1000);
  while (flag)
  {
   printSysMenuInfo();
   println("请选择操作项:");
   int value =sc.nextInt();
   switch (value)
   {
    case1:
    
    println("开户业务: ");
    println("请输入户名: ");
    String name = sc.next();
    println("请输入年龄: ");
    int age = sc.nextInt();
    println("请输入性别: ");
    String sex = sc.next();
    println("请输入手机: ");
    String phone = sc.next();
    println("请输入地址: ");
    String address = sc.next();
    Account account = new Account(name,
     age,sex,phone,address);
    if(bankService.checkAccount(account)){
    int no = rnd.nextInt(1000);
    println("生成的卡号:"+no);
    println("输入卡的密码:");
    String pwd = sc.next();
    Card card = new Card(String.valueOf(no),0d);
    account.setCard(card);
    card.setAccount(account);
    card.setPassword(pwd);
    bankService.createAccount(account);
    }else{
    println("账户名称不正确!");
    
    break;
    case2:
    qk(sc);
    break;
    case3:
    //存款时需要提供卡号
    ck(sc);break;
    case4:
    zz(sc);break;
    case5:
    cx(sc);break;
    case9:
    flag = false;break;
   default:
    println("输入错误");break;
   }
  }
 
 }
 public static void cx(Scanner sc){
  println("请输入卡号;");
  String bo1 = sc.next();
  //校验卡号是否存在
  Card card = bankService.checkCard(bo1);
  if(card == null){
   println("卡不存在");return ;
  }
  println("请输入密码;");
  String psw = sc.next();
  if (!bankService.checkCardpsw(card,psw))
  {
   println("密码错误!!");
   return ;
  }
  System.out.println(card.getAccount());
  System.out.println(card);
 }
 public static void zz(Scanner sc){
  println("请输入您的卡号;");
  String bo1 = sc.next();
  //校验卡号是否存在
  Card card = bankService.checkCard(bo1);
  if(card == null){
   println("卡不存在");return ;
  }
  println("请输入密码;");
  String psw = sc.next();
  if (!bankService.checkCardpsw(card,psw))
  {
   println("密码错误!!");
   return ;
  }
  println("请输入转账金额:");
  double je = sc.nextDouble();
  if(bankService.checkMoney(card,je)){
   println("请输入目标卡号;");
   String bo2 = sc.next();
   //校验卡号是否存在
   Card card2 =bankService.checkCard(bo2);
   if(card2 == null){
   println("卡不存在");return ;
   }
   println("目标的信息是");
  System.out.println(card2.getAccount());
   println("是否确定\n1.确定.\n2.返回");
   int b = sc.nextInt();
   if(b == 1)
   { card.outMoney(je);
    card2.inMoney(je);
    println("转账成功");
    println(card.toString());
   }else {
    return;
   }
  }else{
   println("余额不足!");
  }
 }
 //取款
 public static void qk(Scanner sc){
  println("请输入卡号;");
  String bo = sc.next();
  //校验卡号是否存在
  Card card = bankService.checkCard(bo);
  if(card == null){
   println("卡不存在");return ;
  }
  println("请输入密码;");
  String psw = sc.next();
  //校验密码是否匹配
  if (!bankService.checkCardpsw(card,psw))
  {
   println("密码错误!!");
   return ;
  }
  println("请输入取款金额:");
  double je = sc.nextDouble();
  //校验余额是否足够
  if(bankService.checkMoney(card,je)){
   card.outMoney(je);
   println("取款成功");
   //输出银行卡信息
  println(card.toString());
  }else{
   println("余额不足!");
  }
 }
 //存款
 public static void ck(Scanner sc){
  println("请输入卡号;");
  String bo = sc.next();
  //校验卡号是否存在
  Card card = bankService.checkCard(bo);
  if(card == null){
   println("卡不存在");return ;
  }
  println("请输入金额!");
  double money = sc.nextDouble();
  card.inMoney(money);
  println("存款成功!");
  println(card.toString());
 }
 //开户
 public static void printSysMenuInfo(){
  println("*******************");
 println("*业务操作提示    *");
 println("*1:开户          *");
 println("*2:取款          *");
 println("*3:存款          *");
 println("*4:转账          *");
 println("*5:查询          *");
 println("*9:返回          *");
  println("*******************");
 }
 public static void printWecomeInfo(){
  println("*******************");
  println("*欢迎进入银行系统 *");
 println("*操作提示:       *");
 println("*1:登陆          *");
 println("*2:退出          *");
  println("*******************");
 }
 public static void println(String content){
  System.out.println(content);
 }
}

 

 

 

public class Account
{
 private String name;
 private int age;
 private String sex;
 private String phone;
 private String address;
 private Card card;
 public String getName(){
  return this.name;
 }
 public String getSex(){
  return this.sex;
 }
 public int getAge(){
  return this.age;
 }
 public String getPhone(){
  return this.phone;
 }
 public String getAddress(){
  return this.address;
 }
 public Account(String name ,int age ,
  String sex , String phone ,Stringaddress){
  this.name = name;
  this.age = age;
  this.sex = sex;
  this.phone = phone;
  this.address = address;
 }
 public void setCard(Card card){
  this.card =card;  
 }
 public Card getCard(){
  return this.card;
 }
 public String toString(){
  //此代码效率极差
  //todo
  String out = "**************\n";
  out +=  "*账户信息列表*\n";
  out+=      "*户名: "+this.name+"*\n";
  out+=      "*年龄: "+this.age+"*\n";
  out+=      "*性别: "+this.sex+"*\n";
  out+=      "*电话: "+this.phone+"*\n";
  out+=      "*地址: "+this.address+"*\n";
  out+=      "*-------------*\n";
  return out;
 }
}

 

 

class BankService
{
 private Account[] accounts = newAccount[20];
 
 public void createAccount(Account account){
  boolean flag = false ;
  for (int i = 0;i
  {
   if (accounts[i] == null)
   {
    accounts[i]= account ;
    flag = true;
    break;
   }
  }
  if(!flag){
  System.out.println("账户已满");
  }else{
  System.out.println(account);
  System.out.println("注册成功");
  }
 }
 
 public boolean checkAccount(Accountaccount){
  if(account.getName() == null ||
  account.getName().equals("")){
   return false;
  }
  if(account.getSex() == null ||
  account.getSex().equals("")){
   return false;
  }
  return true;
 }
 public Card checkCard(String card){
  for (int i = 0;i
  {
   if (accounts[i] != null&&accounts[i].getCard()!=null
   &&accounts[i].getCard().getCardNo().equals(card))
   {
    returnaccounts[i].getCard();
   }
  }
  return null;
 }
 public boolean checkCardpsw(Card card,Stringpassword){
  if(card.getPassword().equals(password))
   return true;
  return false;
 }
 public boolean checkMoney(Card card, doublemoney){
  if(card.getMoney()
   return false;
  return true;
 }
}

 

 

 

 

public class Card
{
 private Account account;
 private String cardNo;
 private Double money;
 private String password;
 public void setAccount(Account account){
  this.account = account;
 }
 public Account getAccount(){
  return this.account;
 }
 public Card(String cardNo){
  this.cardNo = cardNo;
 }
 public Card(String cardNo,double money){
  this(cardNo);
  this.money = money;
 }
 public Double getMoney(){
  return this.money;
 }
 public void inMoney(Double money){
  this.money += money;
 }
 public void outMoney(Double money){
  this.money -= money;
 }
 public String getCardNo(){
  return this.cardNo;
 }
 
 public void setPassword(String password){
  this.password = password;
 }
 public String getPassword(){
  return this.password;
 }
 public String toString(){
  //todo
  String out ="*---------银行卡信息----------*\n";
  out+=      "*银行卡信息        *\n";
  out +=  "卡号       "+this.cardNo+"       *\n";
  out +=  "银行卡余额 "+this.money+"       *\n";
  out += "*-------------------*\n";
  return out;
 }
}

原创粉丝点击