java 编写ATM提款机程序

java 编写ATM提款机程序,第1张

原程序的错误有:

1.a为int型。去掉‘’

2.ATM1 atm = new ATM1 , 类名要和前面的一致

3.加入int a = sc.nextInt()// 请加入此句 进而选择相应功能,

PS:程序已调好,试试吧。

import java.util.Scanner

public class ATM1 {

Scanner sc = new Scanner(System.in)

private String name = "lorin"

private double password = 123

private double money = 500

public void aloha(){

System.out.println("***********************")

System.out.println("* *")

System.out.println("* 欢迎使用ATM *")

System.out.println("* *")

System.out.println("* 制作人:lorin *")

System.out.println("* *")

System.out.println("* *")

System.out.println("************************")

land()

}

//登陆页面

public void land(){

System.out.println("请选择 *** 作界面:1取款,2存款,3查询,4转账,5退出")

int a = sc.nextInt()// 请加入此句

switch(a){

case 1 : // 去掉‘’ 因为a 为int型。

get()

break

case 2 :

set()

break

case 3 :

query()

break

case 4 :

divert()

break

case 5 :

SetOut()

break

}

}

//取款

public void get(){

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

int a = sc.nextInt()

if(a>money){

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

}else{

money-=a

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

land()

}

}

//存款

public void set(){

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

int a = sc.nextInt()

money+=a

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

land()

}

//查询

public void query(){

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

land()

}

//转账

public void divert(){

System.out.println("该功能站未开放!")

land()

}

//退出

public void SetOut(){

System.exit(0)

}

public static void main(String[] args) {

ATM1 atm = new ATM1()

atm.aloha()

}

}

下面是一个简单的登录示例:

代码复制展示:

public class ATMLogin {

public static void main(String[] args) {

// 设置用户名和密码

String username = "gqk"

String password = "520"

// 最多可以登录 3 次

for (int i = 0i <3i++) {

// 读取用户输入的用户名和密码

Scanner in = new Scanner(System.in)

System.out.print("请输入用户名:")

String inputUsername = in.nextLine()

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

String inputPassword = in.nextLine()

// 检查用户名和密码是否正确

if (inputUsername.equals(username) &&inputPassword.equals(password)) {

System.out.println("欢迎" + username + "登录!")

break// 登录成功,退出循环

} else {

System.out.println("用户名或密码错误,请重新输入!")

}

}

// 如果 3 次登录都失败,则提示用户

System.out.println("卡片已经被锁,请联系客服人员!")

}

}

回答不易望请采纳

/**

     要求:使用字符用户界面。当输入给定的卡号和密码(初始卡号和密码为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)

            }

        }

        

    }

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存