java设计账户类
2020-04-01 19:02
781 查看
设计一个账户类Account,它包括:
(1)id的int类型账户数据域
(2)balance的double类型账户数据域
(3)annualInterestRate的double数据域存储当前利率。假设所有账户都有相同的利率
(4)dateCreated的Date或Calendar类型数据域存储账户的开户日期。(Java提供Date和Calendar类)
(5)无参构造方法,带参构造方法
(6)相应成员变量的访问器和修改器
(7)withDraw()方法从帐户提取指定数额
(8)deposit()方法向帐户存入指定数额
设计测试类,创建一个账户为1122,余额为20 000美元,年利率为4.5%的Account,取款2500美元,存入3000美元,输出账户基本信息及存取款信息,取款时若账户余额不足,提示“你账户的余额不足!!!”。
本题无测试数据,通过即可。
import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class BankAccout { public static void main(String[] args) { Accout a=new Accout(1112,20000,4.5); a.withDraw(); a.deposit(); System.out.println(a.showinfo()); } } class Accout { private int id; private double balance; private double annualInterestRate; private String date; private double income; private double output; public int getId() { return id; } public void setId(int id) { this.id = id; } public double getBalance() { return balance; } public void setBalance(double balance) { this.balance = balance; } public double getAnnualInterestRate() { return annualInterestRate; } public void setAnnualInterestRate(double annualInterestRate) { this.annualInterestRate = annualInterestRate; } public String getDate() { Date date=new Date(); SimpleDateFormat da2=new SimpleDateFormat("yyyy年MM月dd日HH时mm分"); return da2.format(date); } public String getDATE() { return date; } public double getIn() { return income; } public double getOut() { return output; } public Accout() { id=0; balance=annualInterestRate=0; date=null; } public Accout(int id,double balance,double annualInterestRate ) { this.id=id; this.balance=balance; this.annualInterestRate=annualInterestRate; this.date=getDate(); } public void withDraw() { Scanner in=new Scanner(System.in); System.out.print("请输入取款金额:"); double money=in.nextDouble(); this.output=money; if(this.balance-money<0) { System.out.print("你账户的余额不足!!!"); } else { this.balance=this.balance-money; } } public void deposit() { System.out.print("请输入存款金额:"); Scanner in=new Scanner(System.in); double money=in.nextDouble(); this.income=money; this.balance=this.balance+money; } public String showinfo() { String info; info="账户:"+getId() +"\n取款金额:"+getOut() +"\n存款金额:"+getIn() +"\n账户余额:"+getBalance() +"\n利率:"+getAnnualInterestRate()+"%" +"\n开户日期:"+getDATE(); return info; } }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Java--银行账户存取款线程设计1(交互线程)
- 这几天学习到的Java设计模式
- Java经典23种设计模式之结构型模式(二)
- 关于Java 23种设计模式的有趣见解(转)
- Java 设计模式之代理模式的基本概念
- Java 设计模式之桥接模式的详解(结构模式)
- Java设计模式之:构建模式
- java设计模式之建造者模式(3)
- Java设计模式之责任链模式
- Java设计模式之门面设计模式(外观模式)与 log4j.properties配置详解
- java 设计模式 学习笔记(一)
- Java 23种设计模式详尽分析与实例解析之三--行为型模式
- 联想高级Java研发面经+面试题:Spring+多线程+MySQL+设计模式
- JAVA设计模式--策略模式
- Java设计模式
- java中代理设计模式和适配器模式
- Java设计模式之十六(适配器模式)
- Java设计模式学习02——工厂模式
- Java设计模式-原型模式
- Java与设计模式(六)设计原则--接口隔离原则