初识Java,关于一个简单的ATM机的java程序设计

import java.util.Scanner;

public class MiniAtm_2 {
private static int [] m={100000,80000,150000}; //设置为全局变量,用数组来存储每个用户的余额,和ATM的余额
public static void main(String[] args){
int [] [] arr={{123,123456},{321,12345}};//用数组来储存每位用户的用户名和密码
login(arr );
}
public static void login (int[][]arr){
System.out.println("*************************************** ");
System.out.println("**********欢迎使用张氏银行ATM机*************** ");
System.out.println("*************************************** ");
System.out.println("*************************************** ");
for(int m=1;m<4;m++){ //用for循环来做输入错误后的三次输入
System.out.println("请输入账户名");
Scanner usersc = new Scanner(System.in);
int userIn=usersc.nextInt();
System.out.println("请输入密码");
Scanner passWordsc= new Scanner(System.in);
int passWordIn=passWordsc.nextInt();
if(arr[0][0]==userIn&arr[0][1]==passWordIn){ //通过输入数据与数组中的用户名和密码进行比较判断用户登录
page(0,1); //通过带入数据判断事哪个用户登录
}
else if(arr[1][0]==userIn&arr[1][1]==passWordIn){
page(1,0);
}
else {
System.out.println("账户名或者密码错误,请重新输入");
}
}
System.out.println("您输入次数已经超过限制,自毁程序已启动,不怕死就留下来看看华丽的烟花吧~");
System.exit(0); //连续错误三次程序自动结束
}
public static void page(int a,int b){
if(a==0&b==0){
System.out.println("尊敬的张先生您好,请选择你所需要的服务 *********1:查询 2:存款 3:取款 4:转账 5:退出********");
}
else if(a==1&b==0){
System.out.println("尊敬的李先生您好,请选择你所需要的服务 *********1:查询 2:存款 3:取款 4:转账 5:退出********");
}
else {System.out.println("*********1:查询 2:存款 3:取款 4:转账 5:退出******** ");
}
Scanner chooseSC = new Scanner(System.in);
int chooseIn = chooseSC.nextByte();
if(chooseIn!=1&&chooseIn!=2&&chooseIn!=3&&chooseIn!=4&&chooseIn!=5){ //用来判断用户输入的正确性
System.out.println("请输入正确的选项");
page(0,2);
}
else if(chooseIn==1){
query(a,b);
}
else if(chooseIn==2){
got(a,b);
}
else if(chooseIn==3){
set(a,b);
}
else if(chooseIn==4){
zhuan(a,b);
}
else{
main(null);
}

}
public static void query(int a,int b){
System.out.println("当前余额为:"+m[a]+"元");
page(a,b);
}
public static void got(int a,int b){
System.out.println("请输入存款金额,金额为100的倍数 如无需存款请按‘1’返回主菜单!"); //用来作为用户想要放弃操作的返回操作
Scanner sc = new Scanner (System.in);
int z=sc.nextInt();
if(z==1){
page(a,b);
}
else if(z!=1&&z%100!=0) { //用来判断用户输入金额的正确性
System.out.println("输入金额有误!");
got(a,b);
}
else if(m[2]+z>200000){ //判断ATM现金容量是否能够装下存入金额
System.out.println("ATM机存款容量达到上限,请重新输入金额!");
got(a,b);
}
else{
m[a]=z+m[a]; //用来表示用户余额的变化
m[2]=z+m[2]; //用来表示ATM机余额的变化
System.out.println("存款成功");
page(a,b);
}
}
public static void set (int a,int b){
System.out.println("请输入取款金额,金额为100的倍数 如无需存款请按‘1’返回主菜单!");
Scanner sc = new Scanner (System.in);
int z=sc.nextInt();
if(z==1){
page(a,b);
}
else if(z!=1&&z%100!=0){ //判断输入金额的正确性
System.out.println("输入金额有误!");
set(a,b);
}
else if(z>100000){
System.out.println("超出取款范围!一次最多取款100000");
set(a,b);
}
else if(m[a]-z<0){
System.out.println("余额不足!"); //判断余额是否足够取出的输入金额
set(a,b);
}
else if(m[2]-z<0){
System.out.println("ATM机余额不足!"); //判断ATM机余额是否足够取出的输入金额
page(a,b);
}
else{
m[a]=m[a]-z; //用来表示用户余额的变化
m[2]=m[2]-z; //用来表示ATM机余额的变化
System.out.println("取款成功,取款金额为:"+z+"元");
System.out.println("谢谢使用欢迎下次光临");
page(a,b);
}
}
public static void zhuan(int a,int b){
System.out.println("请输入转账账号 如无需转账请按‘1’返回主菜单");
Scanner zSC=new Scanner(System.in);
int z=zSC.nextInt();
int[] p={321,123};
if(z==1){
page(a,b);
}
else if(z==p[a]){ //用来判断用户输入的转账账户
System.out.println("请输入转账整数金额");
Scanner msc=new Scanner(System.in);
int s=msc.nextInt();
if(s<=0){
System.out.println("请输入正确的转账金额"); //判断输入的金额正确性
}
else{
m[a]=m[a]-s; //用来表示用户转账后余额的变化
m[b]=m[b]+s; //用来表示被转账用户的余额变化
System.out.println("转账完成!"); //操作完成后的返回操作
page(a,b);
}
}
else{
System.out.println("请输入正确的转账账号!");
zhuan(a,b);

}
}
}

原文地址:https://www.cnblogs.com/socool0059/p/5297993.html