• 初识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);

    }
    }
    }

  • 相关阅读:
    Docker 第二篇--安装Docker
    Docker 第一篇--初识docker
    VirtualBox 桥接上网方式的配置
    .NET服务器端按钮在客户端点击后禁用,服务端执行完事件后再次激活
    SignalR2.1部署IIS服务器无法推送消息
    SQL去掉某个字段重复记录
    动态生成WebService代理类
    openoffice启动服务并将office文件转换为pdf文件
    Hibernate 核心接口和工作机制
    linux下Mongodb集群搭建:分片+副本集
  • 原文地址:https://www.cnblogs.com/socool0059/p/5297993.html
Copyright © 2020-2023  润新知