落尘大大和你呢 发表于 2021-5-30 15:18

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

本帖最后由 落尘大大和你呢 于 2021-6-1 12:42 编辑

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());
    }
}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

{:1_908:}再加个页面?

我是one 发表于 2021-5-30 16:01

噗,你是不是大一的,我们学校也刚好要写这个程序

374163073 发表于 2021-5-30 16:07

你这样只能存取一次,加个do while循环 判断用户输入的内容,如果为0就 结束程序

374163073 发表于 2021-5-30 16:13

不要用if判断, 用if else ifelse如果用户输入的不是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

楼主你好萌 发表于 2021-5-30 15:45
再加个页面?

页面可以用Java自带的swing实现

Sentiment1996 发表于 2021-5-30 16:26

楼主你好萌 发表于 2021-5-30 15:45
再加个页面?

输入可以用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

学习了,楼主加油
页: [1] 2
查看完整版本: 小白写的简单“存取款”程序。(代码不够完善,大佬指点指点)