简易ATM机
模拟一个简易ATM机
要求:
先做只有一个用户的:
1、ATM运行之前,准备好一个账户名、账户对应的密码和账户对应的余额,
并且规定,ATM机初始化时默认的剩余金额是15万,最大金额容量为20万,最大取款限额为10万。
2、有一个欢迎界面:例如:
*************************************
**********欢迎使用XXXATM机***********
*************************************
以上只是举例,具体欢迎界面可以自己设计
3、用户输入账号和密码,并进行验证
如果三次输入错误,则给出提示并退出系统
如果输入正确则显示以下菜单
1.查询余额 2.取款 3.存款 4.退出
提示用户选择菜单
如果用户输入1,则显示余额;
如果用户输入2,则提示输入要取出的金额,
如果金额等于0,相应提示;
如果金额不是100的倍数,则给出相应提示;
如果金额为负数,也提示;
如果金额输入不合法(比如输入了特殊符号或者字母),也提示;
如果输入的金额大于该用户的余额,也要提示,
如果输入的金额超过ATM机中的剩余金额,也要提示。
如果选择3,则显示存款界面,提示用户放入现金:
如果输入的金额加上ATM机中剩余的金额超过了ATM机最大金额容量,则提示用户。
如果选择4.则直接退出系统。
import java.util.Scanner;
public class Atm5 {
public static boolean login(){
/*这个函数只用于验证失败还是成功
* */
boolean boo;//默认登录失败
Scanner s = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = s.next();
System.out.println("请输入密码:");
String password = s.next();
if(name.equals("00544") && password.equals("123456")){
boo = true;
gongneng();
}else{
boo = false;
}
return boo;
}
public static void three(){
/*控制三次机会,超过三次机会,直接退出程序*/
for(int j=3;j>0;j--){
boolean boo = login();
if(boo){
System.out.print("登录成功");
break;
//main();
}else{
System.out.println("登录失败");
if(j-1==0){
System.out.print("账户被冻结");
System.exit(0);
}else{
System.out.println("你还有"+(j-1)+"次机会");
}
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("*******欢迎使用atm系统***********");
System.out.println("****请选择操作 1 登陆*******");
System.out.println("************** 2 退出*******");
Scanner s = new Scanner(System.in);
int i = s.nextInt();
if(i==1){
three();
}else if(i==2){
System.out.println("*******已退出系统*********");
System.exit(0); //直接退出程序
}
}
public static void gongneng(){
for(int q=0;;q++){
System.out.print("1.查询余额 2.取款");
System.out.print(" 3.存款 4.退出");
Scanner s=new Scanner(System.in);
int x=s.nextInt();
int money=1000;
if(x==1){
System.out.println("余额为:"+money);
}
if(x==2){
qukuan();
}
if(x==3){
cunkuan();
}
if(x==4){
System.out.print("退出系统");
System.exit(0);
}
}
}
public static void qukuan(){
Scanner s=new Scanner(System.in);
System.out.println("请输入要取出的金额");
int r=s.nextInt();
int money=1000;
int maxmoney=150000;
if(r==0||r%100!=0||r<0){
System.out.println("取出金额必须大于或等于100,且必须为100的倍数");
}
else if(r>money){
System.out.println("您的余额不足");
}
else if(r>maxmoney){
System.out.println("你输入的取款金额过大");
}
}
public static void cunkuan(){
Scanner s=new Scanner(System.in);
System.out.println("请您放入要存款的金额");
int h=s.nextInt();
int money=1000;
int maxmoney=150000;
int cmoney=200000;
if(h+maxmoney>200000){
System.out.println("您放入要存款的金额过大");
}
else{
System.out.println("您的余额:"+(money+h));
}
}
}