zoukankan      html  css  js  c++  java
  • 【笔记】Eclipse and Java for Total Beginners—014

    Lesson 14 – Finish checkOut Method

    • Write getBooksForPerson method
    • Introduce for each loop
    • Introduce logical ‘and’ operator &&
    • NullPointerException errors
    • Complete checkOut Method

    1 package org.totalbeginner.tutorial;
    2
    3  import java.util.ArrayList;
    4
    5  import org.totoalbeginner.tutorial.Person;
    6
    7  public class MyLibrary {
    8
    9 String name;
    10 public String getName() {
    11 return name;
    12 }
    13
    14 public ArrayList<Person> getPeople() {
    15 return people;
    16 }
    17
    18 public ArrayList<Book> getBooks() {
    19 return books;
    20 }
    21
    22 ArrayList<Person> people;
    23 ArrayList<Book> books;
    24
    25 public MyLibrary(String name) {
    26 this.name = name;
    27 books = new ArrayList<Book>();
    28 people = new ArrayList<Person>();
    29
    30 }
    31
    32 public void addBook(Book b1) {
    33 this.books.add(b1);
    34
    35 }
    36
    37 public void removeBook(Book b1) {
    38 this.books.remove(b1);
    39
    40 }
    41
    42 public void addPerson(Person p1){
    43 this.people.add(p1);
    44 }
    45
    46 public void removePerson(Person p1){
    47 this.people.remove(p1);
    48 }
    49
    50 public boolean checkOut(Book b1, Person p1) {
    51 int booksOut = this.getBooksForPerson(p1).size();
    52 if ((b1.getPerson() == null) &&
    53 (booksOut < p1.getMaximumBooks())) {
    54 b1.setPerson(p1);
    55 return true;
    56 }
    57 else {
    58 return false;
    59 }
    60 }
    61
    62 public boolean checkIn(Book b1) {
    63 if (b1.getPerson() != null) {
    64 b1.setPerson(null);
    65 return true;
    66 }
    67 else {
    68 return false;
    69 }
    70 }
    71
    72 public ArrayList<Book> getBooksForPerson(Person p1) {
    73 ArrayList<Book> result = new ArrayList<Book>();
    74 for (Book aBook : this.getBooks()) {
    75 if (aBook.getPerson() != null &&
    76 (aBook.getPerson().getName().equals(p1.getName()))) {
    77 result.add(aBook);
    78 }
    79
    80 }
    81 return result;
    82 }
    83 }

  • 相关阅读:
    java 中静态变量和实例变量之间的区别
    java 中final 引用不可变,但是引用还是可以发生变化的
    java中char和Unicode之间的关系
    java 中终止内层循环的方法
    ssh 公钥免密码登陆
    关于Python 中unicode 转码的问题
    Python中Unicode码和非Unicode码引起的错误与格式转换
    第一次写博客,怎么写?
    zookeeper实现主-从结构的一般原理
    Python中Tuple的词源有趣探索
  • 原文地址:https://www.cnblogs.com/halflife/p/2079452.html
Copyright © 2011-2022 走看看