关闭

数组

107人阅读 评论(0) 收藏 举报

今天将了数组的内容,以前张老师也将过,不过我没听懂,胡老师今天给我们讲,说实话还是听懂了一点,今天最主要的应用在了以前做的项目ATM机登录上面了;




public class Atm {

/**
* 代表ATM机器中存放的现金数量
*/
private int cash;//现金

private UserInfo theUser;//当前操作用户(登录成功的人)

private UserInfo[] allUsers;//所有的用户信息

public final int MAX_CASH = 100000;//最大现金数

public Atm(){
this.allUsers = new UserInfo[5];
for (int i = 0; i < allUsers.length; i++) {
this.allUsers[i] = new UserInfo("zhang" + i, "12345" + i, "12345" + i,
10000 + i * 1000);
}
this.cash = 50000;
}


//运行--完成流程控制
/**
* 本方法专门用于流程控制
*/
public void run(){
this.welcome();
boolean flag = this.login();

if(flag){
while(true){
int choice = this.choiceMenu();
switch(choice){
case 1:
this.query();
break;
case 2:
this.getMoney();
break;
case 3:
this.saveMoney();
break;
case 4:
this.changPwd();
break;
case 5:
this.exit(0);
break;
default:
System.out.println("只能输入数字1-5,请重新输入!");
break;
}
}
}else{
this.exit(1);
}
}

//欢迎
private void welcome(){
System.out.println("***************************");
System.out.println("**********欢***迎***********");
System.out.println("**********使***用***********");
System.out.println("**********爱存不存***********");
System.out.println("**********银***行***********");
System.out.println("***************************");
}

//登录
private boolean login(){
Scanner scan = new Scanner(System.in);

for(int i = 0; i < 3; i++){
System.out.println("请输入卡号:");
String inputCardNum = scan.next();
System.out.println("请输入密码:");
String inputPwd = scan.next();

for(int j = 0; j < this.allUsers.length; j++){
if(inputCardNum.equals(this.allUsers[j].getCardNum()) &&
inputPwd.equals(this.allUsers[j].getPassword())){
this.theUser = this.allUsers[j];
System.out.println("登录成功!");
return true;
}
}



System.out.println("您还有" + (2 - i) + "次机会!");
}
System.out.println("三次卡号密码输入错误,卡被没收!");
return false;
}

//选择菜单
private int choiceMenu(){
Scanner scan = new Scanner(System.in);
System.out.println("请选择您要操作的业务:");
System.out.println("1、查询余额;2、取款业务;3、存款业务;4、修改密码;5、退出");
int choice = scan.nextInt();

return choice;
}

//查询
private void query(){
System.out.println("您当前的余额是:" + this.theUser.getAccount() + "元。");
}

//存钱
private void saveMoney(){
Scanner scan = new Scanner(System.in);
System.out.println("请输入你要存入的金额:");
int inputMoney = scan.nextInt();
if(inputMoney <= 0){
System.out.println("你输入的钱是负数,无法操作!");
return;
}
if(inputMoney % 100 != 0){
System.out.println("你输入的钱不是100的整数,无法操作!");
return;
}
if(this.cash + inputMoney > this.MAX_CASH){
System.out.println("本机容量不足,无法操作!");
return;
}
this.cash += inputMoney;
this.theUser.setAccount(this.theUser.getAccount() + inputMoney);
System.out.println("存钱操作已经成功,谢谢!");
}

//取钱
private void getMoney(){
Scanner scan = new Scanner(System.in);
System.out.println("请输入你要取出的金额:");
int outputMoney = scan.nextInt();
if(outputMoney <= 0){
System.out.println("你输入的钱是负数,无法操作!");
return;
}
if(outputMoney % 100 != 0){
System.out.println("你输入的钱不是100的整数,无法操作!");
return;
}
if(this.theUser.getAccount() < outputMoney){
System.out.println("您账户的余额不足,无法操作!");
return;
}
if(this.cash <= outputMoney){
System.out.println("本机现金不足,无法操作!");
return;
}
this.theUser.setAccount(this.theUser.getAccount() - outputMoney);
this.cash -= outputMoney;
System.out.println("取钱操作已经成功,请收好现金!");
}

//修改密码
private void changPwd(){
Scanner scan = new Scanner(System.in);
System.out.println("请输入原密码:");
String oldPwd = scan.next();
System.out.println("请输入新密码:");
String newPwd = scan.next();
System.out.println("请确认新密码:");
String reNewPwd = scan.next();

if(!oldPwd.equals(this.theUser.getPassword())){
System.out.println("原密码输入错误!");
return;
}
if(!newPwd.equals(reNewPwd)){
System.out.println("两次新密码输入不一致!");
return;
}
this.theUser.setPassword(newPwd);
System.out.println("新密码设置成功!");
}

//退出
/**
* 本方法用于实现ATM系统退出
* @param 表示退出状态
*/
private void exit(int status){
if(status == 1){
System.out.println("本机停止为您服务,请去柜台操作处理!");
}else if(status == 0){
System.out.println("谢谢您的使用,期待下次为您服务!");
}
System.exit(0);
}
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5067次
    • 积分:128
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档