吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1458|回复: 12
收起左侧

[已解决] 小白写的简单“存取款”程序。(代码不够完善,大佬指点指点)

[复制链接]
落尘大大和你呢 发表于 2021-5-30 15:18
本帖最后由 落尘大大和你呢 于 2021-6-1 12:42 编辑

[Java] 纯文本查看 复制代码
public class Account {
    private int ID;
    private String name;
    private int balance;

    public Account() {

    }

    public int getID() {
        return ID;
    }

    public void setID(int ID) {
        this.ID = ID;
        System.out.println("账户:" + getID());
    }

    public Account(String name) {
        this.name = name;

    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
        System.out.println("姓名:" + getName());
    }

    public int getBalance() {
        return balance;
    }

    public void setBalance(int balance) {
        this.balance = balance;
    }

    public void take(int number1) {
        if (balance < number1) {
            System.out.print("你的余额不足,取钱失败");
        }
        if (balance > number1) {
            System.out.print("本次操作成功,取出:" + number1 + "元");
            //System.out.println("余额:"+ balance - number1);
        }
    }
    public void deposit(int number2) {
        balance = number2;
        System.out.println("本次操作成功,存入:" + number2 + "元");
        System.out.println("余额:" + getBalance());
    }
}
[Java] 纯文本查看 复制代码
public class CustomerTest {
    public static void main(String[] args) {
        java.util.Scanner s = new java.util.Scanner(System.in);
        System.out.print("请输入您的姓名:");
        String name = s.next();
        System.out.print("请输入您的账户:");
        int account = s.nextInt();
        Account e = new Account();
        System.out.println("账户信息:");
        Account q = new Account();
        e.setID(account);
        q.setName(name);
        Account w = new Account();
        System.out.print("请选择本次操作:");
        System.out.println("\033[31;4m" + "(1是存款,2是取款)" + "\033[0m");
        int r = s.nextInt();
        if (r == 1) {
            System.out.print("请输入存款数额:");
            int deposit = s.nextInt();
            w.deposit(deposit);
        }
        if (r == 2) {
            System.out.print("请输入取款数额:");
            int take = s.nextInt();
            w.take(take);
        }
        w.getBalance();
    }
}







发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

楼主你好萌 发表于 2021-5-30 15:45
再加个页面?
我是one 发表于 2021-5-30 16:01
噗,你是不是大一的,我们学校也刚好要写这个程序
374163073 发表于 2021-5-30 16:07
你这样只能存取一次,加个do while循环 判断用户输入的内容,如果为0就 结束程序
374163073 发表于 2021-5-30 16:13
不要用if判断, 用if else if  else  如果用户输入的不是1或2 就输出用户输入错误,请重新输入
Sentiment1996 发表于 2021-5-30 16:18
1、javaBean 里面尽量不要包含业务逻辑
2、最后存取款操作输入值未加不符合1/2的判断,比如非1或者2的时候将其判断为未执行存取款操作
3、scanner未加关闭流操作,可能会导致一定程度的内存浪费
4、输入尽量都是String,然后做输入值校验,并转换(如int类型非整型容易报错)
Sentiment1996 发表于 2021-5-30 16:22

页面可以用Java自带的swing实现
Sentiment1996 发表于 2021-5-30 16:26

输入可以用swing的输入框组件,至于输出显示可以直接用弹窗显示或者Jtextarea组件接管你的输出流,即可显示,这样的就可以实现滚动输出
374163073 发表于 2021-5-30 18:09
Sentiment1996 发表于 2021-5-30 16:18
1、javaBean 里面尽量不要包含业务逻辑
2、最后存取款操作输入值未加不符合1/2的判断,比如非1或者2的时候 ...

严谨,细致.膜拜大佬
小小的石头13 发表于 2021-5-30 19:05
学习了,楼主加油
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 04:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表