GithubHelp home page GithubHelp logo

maven.phonebook's Introduction

Holding Objects Lab:

  • Fork and clone this repository to complete your lab. Submit each part with a Pull Request for a separate branch.

Unit Tests

  • You are expected to write unit tests for your code.
  • Be sure to write the tests before implementing the functionality being tested.
  • Tests must be thorough and address all possible paths through each method.

Submission

  • Your completed lab must be submitted via GitHub.
  • Labs are not complete unless they include UML diagrams of all implemented classes, as well as unit tests for all features.

Instructions:

Building a basic PhoneBook class

  • Create a PhoneBook class that holds names and phone numbers.

  • You can use an associative data type (one which stores items as keys paired with values).

  • Hint: You should use a sorted map.

  • Your PhoneBook class should have the following method

    • add(String name, String phoneNumber)

      • adds an entry to the composite associate data type
    • remove(String name)

      • removes an entry to the composite associate data type
    • lookup(String name)

      • returns a phone number for the respective input name
    • reverseLookup(String phoneNumber)

      • returns a name for the respective input phoneNumber
    • display()

      • print a human-readable list of all entries (names and phone numbers) in alphabetical order.

      • Sample Script

        PhoneBook phoneBook = new PhoneBook();
        phoneBook.add("Zebra", "111-222-333");
        phoneBook.add("Dog", "222-444-4444");
        phoneBook.display(); 
      • Sample Output

         Dog 222-444-4444
         Zebra 111-222-333
        

Implementing Many-PhoneNumbers-To-One-Person Relationship

  • Some people have more than one phone number.
  • Refactor your PhoneBook class to map names to lists of phone numbers.
  • You should modify your add() and remove() methods to handle adding or removing individual numbers
  • Create a removeRecord method for removing an entire entry from your PhoneBook.

maven.phonebook's People

Contributors

git-leon avatar leon-good-life avatar davidginzberg avatar nhu313 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.