1.按照如下的UML类图,创建相应的类,提供必要的结构

在提款方法withdraw()中,需要判断用户余额是否能够满足提款数额的要求,如果不能,应给出提示。deposit()方法表示存款。

2. 按照如下的UML类图,创建相应的类,提供必要的结构

3. 按照如下的UML类图,创建相应的类,提供必要的结构

  • addCustomer 方法必须依照参数(姓,名)构造一个新的 Customer对象,然后把它放到 customer 数组中。还必须把 numberOfCustomer 属性的值加 1。
  • getNumOfCustomers 方法返回 numberofCustomers 属性值。
  • getCustomer方法返回与给出的index参数相关的客户。

4. 创建BankTest类,进行测试。

package com.atguigu.exer2;public class Account {private int id;private double balance;private double annualInterestRate;public Account(double balance) {this.balance = balance;}public void withdraw (double amount){//取钱//1.判断余额是否足够if(amount>balance){System.out.println("余额不足");}else{balance-=amount;System.out.println("取款成功:"+amount);}}public void deposit (double amount){//存钱balance += amount;System.out.println("存款成功:"+amount);}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;}}
package com.atguigu.exer2;public class Customer {private String firstName;private String lastName;private Account account;public Customer(String firstName, String lastName) {this.firstName = firstName;this.lastName = lastName;}public Account getAccount() {return account;}public void setAccount(Account account) {this.account = account;}public String getFirstName() {return firstName;}public String getLastName() {return lastName;}}
package com.atguigu.exer2;public class Bank {//用来保存使用的用户private Customer[] customers;private int numberOfCustomer; //默认初始值是0//构造器public Bank(){//1初始化数组//Customer[] customers =new Customer[10]; 这是错误的!,这是声明了一个局部变量customers并赋值给他customers =new Customer[10];}       /*** 添加新用户  * @param firstName* @param lastName*/public void addCustomer(String firstName,String lastName){//校验:如果数组存满了就不能再增加了if(numberOfCustomer<customers.length){//1.创建Customer对象Customer customer = new Customer(firstName, lastName);//2.将对象存放在数组中        customers[numberOfCustomer]= customer;numberOfCustomer++;}else{System.out.println("用户已满");}}/*** 返回与给出的index参数相关的客户* @param index* @return*/     public Customer getCustomer(int index){//校验-判断index有没有在合理的范围内。//index合理的范围是0~人数-1if(index>=0 && index < numberOfCustomer ){return customers[index];}else{return null;}}/*** 返回用户数量* @return*/public int getNumberCustomers(){return numberOfCustomer;//默认值}}
package com.atguigu.exer2;public class BankTest {public static void main(String[] args) {//1.创建银行对象Bank bank = new Bank();//2.向银行添加用户bank.addCustomer("小", "苍");//3.给小苍创建一账户//3.1先获取小苍的对象Customer xiaocang = bank.getCustomer(0);//3.2创建账户Account account = new Account(2000);//3.3将小苍和账户绑定xiaocang.setAccount(account);//对小苍的账户操作。bank.getCustomer(0).getAccount().deposit(100);}}

java基础:面向对象编程(上)28-实验2-银行储蓄客户相关推荐

  1. Java基础--面向对象(上)

    面向对象的三大特征:封装继承多态 1.类和对象 类:抽象不具体的事物,通常表示一类事物的类别,在程序中表示模板 对象:具体的,真实存在的,可以看到的 1.1 如何创建类 类中放所有对象共有的数据/属性 ...

  2. java 168转换成861_java实验-java语言面向对象编程基础

    java实验-java语言面向对象编程基础 (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 8.90 积分 广州大学学生实验报告广州大学学生实验报告 ...

  3. Python零基础速成班-第9讲-Python面向对象编程(上),对象和类、初始化、继承、重写、多态、类方法、组合

    Python零基础速成班-第9讲-Python面向对象编程(上),对象和类.初始化.继承.重写.多态.类方法.组合 学习目标 修饰器 面向对象编程:对象和类.初始化.继承.重写.多态.类方法.组合 课 ...

  4. Java 基础 - 面向对象(不错N多教程集合)

    著作权归https://pdai.tech所有. 链接:Java 基础 - 面向对象 | Java 全栈知识体系 本文主要介绍Java OOP 面向对象基础和相关类图.@pdai Java 基础 - ...

  5. JAVA的面向对象编程

    JAVA的面向对象编程 面向对象主要针对面向过程. 面向过程的基本单元是函数. 什么是对象:EVERYTHING IS OBJECT(万物皆对象) 全部的事物都有两个方面: 有什么(属性):用来描写叙 ...

  6. (20)Java基础 --面向对象(1)

    目录 面向对象 一.概述 二.生活举例 三.类与对象的关系 四.类的构成 五.类的定义 类的属性 类的方法 创建实例(对象) 内存分配图 六.对象的基本使用 七.局部变量与成员变量的区别 八.面向对象 ...

  7. Java基础-面向对象第二特征之继承(Inheritance)

    Java基础-面向对象第二特征之继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序 ...

  8. 基于Java基础-面向对象实现植物大战僵尸简易版

    基于Java基础-面向对象实现植物大战僵尸简易版 前言 游戏设计 游戏对象 游戏内容 游戏优化 放置植物的优化 移除植物的优化 游戏可玩性的优化 添加游戏背景音乐 后续优化 源码分享 前言 从零开始学 ...

  9. JAVA基础 网络编程

    JAVA基础 网络编程 网络我们每天都会用到的,在我们生活中占的地位也在不断的提高,我们下面就简单了解下网络编程的内容. 想要学习网络编程,首先就需要了解网络编程包含哪些内容. 网络编程包括 IP节点 ...

  10. JAVA基础入门编程题练习(一)

    JAVA基础入门编程题练习(一) 1.设计一个学生类Student和它的一个子类Undergraduate.要求如下: (1) Student类有name和age属性,一个包含两个参数的构造方法,用于 ...

最新文章

  1. 【转】Spring 4.x实现Restful web service
  2. oracle快照太旧含义,全解ORA-1555快照太旧错误原理及解决方案
  3. 黄海广老师《机器学习》慕课第二轮1月14日开课了!
  4. 编程小白的第一条博客
  5. 基于TensorFlow.js的JavaScript机器学习
  6. Sublime Text 4不显示未注册的方法
  7. Java 算法 吉老师的回归
  8. centos7启动root账户_新手小白使用vm安装Linux系统centos7虚拟机详细教程
  9. 浅谈sql之连接查询
  10. c语言上机作业题及答案,2017计算机二级C语言上机测试题附答案
  11. django中url 和 path 的区别
  12. win10专业版开机画面模糊_教你Win10系统电脑显示器显示模糊不清晰如何解决
  13. mybatis java事务_Mybatis事务处理
  14. Q4财报净亏损8350.2万美元,Unity何时摆脱亏损“魔咒”?
  15. 明道云在建筑工程行业的应用场景
  16. 打印机服务器显示未连接,解决win10打印机提示“无法连接打印机 后台处理程序未运行”的方法...
  17. 安卓手机卡顿怎么解决_苹果手机卡怎么办 小技巧解决ipone手机卡顿现象
  18. ASIHTTPRequest 状态栏网络等待指示器
  19. Matlab×物理化学实验:蔗糖水解反应速率常数测定
  20. excel数据分析实战——销售额目标达成分析

热门文章

  1. 数据库中存储大量图片设计
  2. 老板邮局android版本,老板邮局首推Bossmail手机邮 已上架APPStore
  3. 团队间合作的教训总结
  4. php开发中常用的插件下载地址,phpquery采集插件下载
  5. 190314 预习笔记
  6. 丢猫千万别找设计师
  7. odbc oracle 连接超时,关于ODBC驱动访问ORACLE数据库的问题!
  8. 台式计算机内存,台式电脑内存怎么进行扩容
  9. 【PHP Fatal error: Class ‘Redis’ not found in 错误】windows下为PHP安装redis扩展操作redis
  10. 戴尔服务器远程管理卡端口修改,dell服务器远程管理卡的配置和应用(10页)-原创力文档...