JAVA 模拟ATM柜员机模拟程序

JAVA 模拟ATM柜员机模拟程序,第1张

/**

     要求:使用字符用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:

    1、查询余额:初始余额为10000元

    2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

    3、ATM存款:不能出现负存款。

    4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

    (卡号密码余额放到文件中)

 */

public class Test {

    private static int account

    private static int password

    private static int money

    private static boolean isLogin

    static{

        account = 123456

        password = 123456

        money = 10000

        isLogin = false

    }

    //存款

    public void cun(int cunKuan){

        if(cunKuan>=0){

            this.money += cunKuan

        }else{

            System.out.println("存款不能为负!")

        }

    }

    //取款

    public void qu(int quKuan){

        if(this.money - quKuan < 0){

            System.out.println("余额不足!")

            return

        }

        

        if(isValid(quKuan)){

            this.money -= quKuan

        }else{

            System.out.println("取款不能为负,且应为100的倍数!")

        }

    }

    //判断是否为有效的金额

    private boolean isValid(int money){

        if(money >= 0 && money % 100 == 0){

            return true

        }

        return false

    }

    

    //登陆

    public void login(){

        System.out.println("请输入账号和密码【格式为:账号/密码】")

        String login = new Scanner(System.in).next()

        if(login.equalsIgnoreCase("123456/123456")){

            this.isLogin = true

        }else{

            System.out.println("账号或者密码错误,请重新输入!")

            login()

        }

    }

    

    //主菜单

    public void show(){

        System.out.println("[1]存款")

        System.out.println("[2]取款")

        System.out.println("[3]退出")

        System.out.println("请输入:")

        int key = new Scanner(System.in).nextInt()

        switch (key) {

        case 1:

            cun(new Scanner(System.in).nextInt())

            break

        case 2:

            qu(new Scanner(System.in).nextInt())

            break

        case 3:

            System.exit(0)

        default:

            break

        }

    }

    public static void main(String[] args) {

        Test t = new Test()

        t.login()

        if(t.isLogin){

            for(){

                t.show()

                System.out.println("您当前的余额为:" + t.money)

            }

        }

        

    }

}

import java.util.*

public class ATM {

static int people=123456

static int mima=123456

static int yue=10000

static Scanner in=null

public ATM(int people,int mima){

this.mima=mima

}

public static void main(String[] args) {

chongxindenglu()

int count=1

while(count!=0){

System.out.println("1、查询余额")

System.out.println("2、取款")

System.out.println("3、存款")

System.out.println("4、修改密码")

System.out.println("5、重新登录")

count=in.nextInt()

switch(count){

case 1: System.out.println(10000)System.out.println()break

case 2: quKuan()break

case 3: cunKuan()break

case 4: xiugai()break

case 5: chongxindenglu()

}

}

}

public static void quKuan(){

System.out.println("请输入取款金额:")

int qukuanjine=in.nextInt()

if(qukuanjine>5000){

System.out.println("取款金额不能大于5000"+"\n")

}else{

if(qukuanjine%100!=0){

System.out.println("取款金额必须为100的整数倍"+"\n")

}else{

yue=yue-qukuanjine

System.out.println("您取出了"+qukuanjine+"元,您现在的余额为:"+yue+"元"+"\n")

}

}

}

public static void cunKuan(){

System.out.println("请输入存款金额")

int cunkuanjine=in.nextInt()

if(cunkuanjine<0){

System.out.println("存款金额不能小于0")

}else{

yue=yue+cunkuanjine

System.out.println("您已成功存入:"+cunkuanjine+"元,您现在总余额为:"+yue+"元"+"\n")

}

}

public static void xiugai(){

System.out.println("请输入您的密码:")

int mima1=in.nextInt()

if(mima1==mima){

System.out.println("请输入新密码:")

mima=in.nextInt()

System.out.println("您的密码已修改为:"+mima+"\n")

}else{

System.out.println("密码输入错误:"+"\n")

}

}

public static void chongxindenglu(){

in=new Scanner(System.in)

System.out.println("请输入登录帐号:")

int denglupeople=in.nextInt()

System.out.println("请输入登录密码:")

int denglumima=in.nextInt()

if(denglupeople==people &&denglumima==mima)

System.out.println("帐号登录成功"+"\n")

else

System.out.println("密码输入错误,登录失败"+"\n")

}

}

先构建一个客户端,再构建一个服务器端,其实做一个简单的界面,建立一个数据库,调用SQl 语句,,实现单机,模拟多线程的就可以了,服务器部分不做也可以模拟出来。。

PS:这不会是程序专题训练一吧。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7762749.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存