用方法模拟输出ATM

package Com.ATM;

public class Test {
public static void main(String [] args){
loginMenu l = new loginMenu();
l.login();
}
}

 

 

package Com.ATM;

import java.util.Scanner;

public class loginMenu {
String accounts = "518";
int password = 123456;
double balance = 25000;
double maxATM = 1000000;
double balanceATM = 300000;
double takeMoneyMax = 20000;
public void login(){
Scanner input = new Scanner(System.in);
boolean alway = true;
int i = 1;
while(alway){
System.out.print("请输入账号:");
String uAccounts = input.next();
System.out.print("请输入密码:");
int uPwd = input.nextInt();
if(uAccounts.equals(accounts) && uPwd == password){
alway = false;
System.out.println("恭喜你,登陆成功!");
menu();
}
else if(i<3){
System.out.println("输入错误,你还有"+(3-i)+"次机会");
i ++;
}else{
System.out.println("三次全错,你的卡已被吞掉,请尽快联系管理员!");
break;
}
}
input.close();
}
public void password(){
Scanner input = new Scanner(System.in);
System.out.print("请输入修改的密码:");
password = input.nextInt();
System.out.println("修改成功,请重新登录!");
login();
input.close();
}
public void menu(){
boolean alway = false;
String choice = null;
Scanner input = new Scanner(System.in);
do{
alway = false;
System.out.println("1.查询余额\t2.取款\t3.存款\t4.更改密码\t5.退出");
System.out.print("请选择服务项目:");
int num = input.nextInt();
switch(num){
case 1:
System.out.println("你卡上余额为:"+balance+"元");
System.out.print("请选择》 y(选择其它项目)/n(直接退出):");
choice =input.next();
if(choice.equals("y")){
alway = true;
}else{
System.out.println("请取卡,欢迎下次再来!");
}
break;
case 2:
takeMoney();
break;
case 3:
saveMoney();
break;
case 4:
password();
break;
case 5:
System.out.println("请取卡,欢迎下次再来!");
break;
}
}while(alway);
input.close();
}
public void takeMoney(){
String choice = "y";
Scanner input = new Scanner(System.in);
do{
System.out.print("请输入取款金额:");
double money = input.nextInt();
if(money<100 || money%100!=0){
System.out.println("金额输入错误!");
}else if(money>balance){
System.out.println("你卡上余额不足,请重新输入!");
}else if(money>balanceATM){
System.out.println("ATM机余额不足,请联系管理员!");
}else if(money>20000){
System.out.println("每次取款不得超过20000元!");
}else{
balance -=money;
balanceATM -= money;
System.out.println("取款成功!你卡上余额为:"+balance);
System.out.println("请选择》 y(继续取款)/n(退出取款):");
choice = input.next();
}
}while(choice.equals("y"));
if(choice.equals("n")){
menu();
}
input.close();
}
public void saveMoney(){
String choice = "y";
Scanner input = new Scanner(System.in);
do{
System.out.print("请输入存款金额:");
double money = input.nextInt();
if(money%100!=0){
System.out.println("输入错误!");
}else if(money+balanceATM>maxATM){
System.out.println("你已超过ATM机的最大存储数!");
}else{
balance += money;
balanceATM += money;
System.out.println("存款成功!你卡上的余额为:"+balance+"元");
System.out.println("请选择》 y(继续存款)/n(退出存款):");
choice = input.next();
}
}while(choice.equals("y"));
if(choice.equals("n")){
menu();
}
input.close();
}
}

用方法写出来的程序,要更简洁、易懂,别人也能方便调用

posted @ 2017-03-26 16:26  听风似见  阅读(139)  评论(0编辑  收藏  举报