Java代写 | 数据结构 CSI213 Data Structures Project4

Project 04
Part I: General project information ……………………………………………………………………………………… 02 Part II: Project grading rubric……………………………………………………………………………………………….. 02 Part III: Examples on how to meet project requirements……………………………………………………… 03 Part IV: Project description ………………………………………………………………………………………………….. 06

Part I: General Project Information
All projects are individual projects unless it is notified otherwise. No late projects will be accepted. A project will receive no credit if one the following is true.
Students must turn in their original work. Any copied work from others and/or Internet such as will not be credited. Any cheating violation will be reported to the college. Students can help others by sharing ideas, but not by allowing others to copy their work.
All projects must be submitted via Blackboard. No late projects will be accepted. Documents to be submitted as a zipped file:
• UML class diagram(s) – created with Violet UML, ArgoUML, or StarUML
• Java source file(s) with Javadoc inline comments – (Java classes created with eclipse.)
• Supporting files if any (For example, files containing all testing data.)
Students are required to submit a design, all error-free source files that compile with Javadoc inline comments, and supporting files. Lack of any of the required items will result in a really low credit or no credit.
Part II: Project grading rubric
All projects will be evaluated based upon the following software development activities.
• Does the software meet the exact specification / customer requirements?
• Does the software solve the exact problem? Design:
• Is the design efficient? Code:
• Are there errors?
• Are code conventions followed?
• Does the software use the minimum computer resource (computer memory and processing
• Is the software reusable?
• Are comments completely written in Javadoc format?
a. Class comments must be included in Javadoc format before a class header.
b. Method comments must be included in Javadoc format before a method header.
c. More inline comments must be included in either single line format or block format
inside each method body.
d. All comments must be completed in correct format such as tags, indentation etc.
• The project is late.
• The project is a copy and modification of another student’s project. (Both will receive 0.)
• The project is copied from Internet or other resources.
Max points
UML Design (See an example in part II.)
Max. 10 points
Javadoc Inline comments (See an example in part II.)
Max. 10 points
The rest of the project
Max. 40 points

• Are there bugs in the software? Documentation:
• Complete all documentations that are required.
Part III: Examples on how to meet project requirements
To complete a project, the following steps of a software development cycle should be followed. These steps are not pure linear but overlapped.
1) Read project description to understand all specifications(Analysis).
2) Create a design (an algorithm for method or a UML class diagram for a class) (Design) 3) Create Java programs that are translations of the design. (Code/Implementation)
4) Test and debug, and (test/debug)
5) Complete all required documentation. (Documentation)
The following shows a sample design.
The corresponding source codes with inline Javadoc comments are included on next page.

import java.util.Random;
* Representing a dog with a name.
* @author Qi Wang
* @version 1.0
Comments for fields are required.
* Constructs a newly created Dog object that represents a dog with an empty name.
A description of the method, comments on
public class Dog{
open {
* The name of this dog
public Dog(){
private String name;
open {
* Constructs a newly created Dog object withifaanyamaer.e required. = name; }
* Returns a string representation of this dog. The returned string contains the type of
parameters if any, and comments on the return type
* @param name The name of this dog
public Dog(String name){ } = name;
A Javadoc comment for a formal parameter consists of three parts:
– parameter tag,
– a name of the formal parameter in the design ,
(The name must be consistent in the comments and the header.)
– and a phrase explaining what this parameter specifies.
A Javadoc comment for return type consists of two parts: – return tag,
– and a phrase explaining what this returned value specifies
* Returns the name of this dog.
* @return The name of this dog
public String getName(){ } return;
* Changes the name of this dog.
* @param name The name of this dog
public void setName(String name){
* this dog and the name of this dog.
* @return A string representation of this dog
return this.getClass().getSimpleName() + “: ” +; }
* Indicates if this dog is “equal to” some other object. If the other object is a dog,
* this dog is equal to the other dog if they have the same names. If the other object is
* not a dog, this dog is not equal to the other object.
* @param obj A reference to some other object
* @return A boolean value specifying if this dog is equal to some other object
More inline comments can be included in single line or block comments format in a method. 4
public String toString(){
public boolean equals(Object obj){
//The specific object isn’t a dog. if(!(obj instanceof Dog)){
return false;
Method comments must be written in Javadoc format before the method header. the first word must be a capitalized verb in the third person. Use punctuation marks properly.
Class comments must be written in Javadoc format before the class header. A description of the class, author information and version information are required.

//The specific object is a dog.
return; }
Dog other = (Dog)obj;

Part IV: Project description
Project 4 An address book
Write a program (ADT Address Book) that maintains person records. A person record contains a person’s name, address, and telephone number. You should be able to enter, delete, search, and get a person’s record. Assume that all names are unique. An address book should be sorted by names. A person’s name should be the search key when a person record is located in an address book. It is required to use a binary search tree as the data structure in the implementation of the ADT Address book. This ADT address book can be used to store information of your friends and relatives.
ADT Address Book Specification:
Specify operations to
• create an empty address book,
• insert a new person record into this address book,
• delete a person record from this address book,
• search a person record in this address book,
• get a reference to a person record from this address book,
• check how many person records are there in this address book, • check to see if the address book is empty,
• and completely empty this address book.
Note: Since all person records are stored in the binary search tree of this address book, insertion, deletion, search, and retrieval in this address book should be conducted in the binary search tree of this address book.

The following classes need to be designed to represent a variety of objects that are involved.
• Class PersonRecord represents a person record in an address book. A person record object contains the person’s
name, address, and a phone number.
Iris Watson name
P.O. Box 283 8562 Fusce Rd. Frederick NE 20620
Phone number
• Class Address represents a mailing address. An address object contains street, city, state, and zip code For example, the following show a full address.
P.O. Box 283 8562 Fusce Rd. Frederick NE 20620
• Generic class BinarySearchTree class represents a binary search tree. A binary search tree can be used to store a list of comparable objects of any types. To constrain E, a type parameter in a generic class, to be classes that implement Comparable interface, in BinarySearchTree, add E extends Comparable<E> into the bracket in the class header.
public class BinarySearchTree<E extends Comparable<E>>
The constraint <E extends AClass > establishes AClass as an upper bound for E. The constraint says E may be any subclass of AClass.
• Generic class AddressBook represents an ADT address book. An address book is required to be implemented using data structure, a binary search tree.
• All other classes have been discussed in class. See class notes for more details. Code:
Please choose a generic element type. All source files must include comments in Javadoc format.
To test the project, a driver with a helper class is needed. In the helper class, use the testing data to create an address book containing the original list of person records, and test the entire design completely. The following contains starter source codes for the helper class.
ZIP code
public class ADTAddressBookUtility { …
public static void start() throws FileNotFoundException{ AddressBook<PersonRecord> list = new AddressBook<PersonRecord>(); //Fill the address book.
//Display the address book.
private static void fillList(AddressBook<PersonRecord> list) …{…}
private static void displayList(AddressBook<PersonRecord> list){ … } }

Note: The following testing data is saved into a file named personrecords.txt. A tab is used as the delimiter.
first_name last_name street
New Orleans Brighton Bridgeport Anchorage Hamilton Ashland Chicago
San Jose Sioux Falls Baltimore Kulpsville Middle Island Los Angeles Chagrin Falls Laredo Phoenix
Mc Minnville Milwaukee Taylor Rockford Aston
San Jose Irving
Albany Middlesex Stevens Point Shawnee Easton
New York Conroe Columbus
Las Cruces Ridgefield Park Dunellen
New York Metairie
New York Camarillo
San Antonio Abilene Prineville Overland Park Fairbanks Miami
state zip
LA 70116 MI 48116 NJ 8014 AK 99501 OH 45011 OH 44805 IL 60632 CA 95111 SD 57105 MD 21224 PA 19443 NY 11953 CA 90034 OH 44023 TX 78045 AZ 85013 TN 37110 WI 53207 MI 48180 IL 61109 PA 19014 CA 95111 TX 75062 NY 12204 NJ 8846 WI 54481 KS 66218 MD 21601 NY 10011 TX 77301 OH 43215 NM 88011 NJ 7660 NJ 8812 NY 10025 LA 70002 NY 10011 CA 93012 TX 78204 KS 67410 OR 97754 KS 66204 AK 99708 FL 33196
504-621-8927 810-292-9388 856-636-8749 907-385-4412 513-570-1893 419-503-2484 773-573-6914 408-752-3500 605-414-2147 410-655-8723 215-874-1229 631-335-3414 310-498-5651 440-780-8425 956-537-6195 602-277-4385 931-313-9635 414-661-9598 313-288-7937 815-828-2147 610-545-3615 408-540-1785 972-303-9197 518-966-7987 732-658-3154 715-662-6764 913-388-2079 410-669-1642 212-582-4976 936-336-3951 614-801-9788 505-977-3911 201-709-6245 732-924-7882 212-860-1579 504-979-9175 212-675-8570 805-832-6163 210-812-9597 785-463-7829 541-548-8197 913-413-4604 907-231-4722 305-606-7291
James Josephine Art
Lenna Donette Simona Mitsue Leota Sage
Kris Minna Abel
Kiley Graciela Cammy Mattie Meaghan Gladys Yuki Fletcher Bette Veronika Willard Maryann Alisha Allene Chanel Ezekiel Willow Bernardo Ammie Francine Ernie Albina Alishia Solange Jose Rozella Valentine Kati Youlanda Dyan Roxane Lavera
Butt Darakjy Venere Paprocki Foller Morasca Tollner Dilliard Wieser Marrier Amigon Maclead Caldarera Ruta Albares Poquette Garufi
Rim Whobrey Flosi
Nicka Inouye Kolmetz Royster Slusarski Iturbide Caudy Chui Kusko Figeroa Corrio Vocelka Stenseth Glick
Sergi Shinko Stockham Ostrosky Gillian Rulapaugh Schemmer Oldroyd Campain Perin
6649 N Blue Gum St 4 B Blue Ridge Blvd
8 W Cerritos Ave #54 639 Main St
34 Center St
3 Mcauley Dr
7 Eads St
7 W Jackson Blvd
5 Boston Ave #88
228 Runamuck Pl #2808 2371 Jerrold Ave
37275 St Rt 17m M
25 E 75th St #69
98 Connecticut Ave Nw 56 E Morehead St
73 State Road 434 E 69734 E Carrillo St
322 New Horizon Blvd
1 State Route 27
394 Manchester Blvd 6S33rdSt
6 Greenleaf Ave
618 W Yakima Ave
74 S Westgate St
3273 State St
1 Central Ave
86 Nw 66th St #8673
2 Cedar Ave #84
90991 Thorburn Ave 386 9th Ave N
74874 Atlantic Ave
366 South Dr
45 E Liberty St
4 Ralph Ct
2742 Distribution Way 426 Wolf St
128 Bransten Rd
17 Morena Blvd
775 W 17th St
6980 Dorsett Rd
2881 Lewis Rd
7219 Woodfield Rd 1048 Main St
678 3rd Ave

Erick Fatima Jina Kanisha Emerson Blair Brock Lorrie Sabra Marjory Karl Tonette Amber Shenika Delmy Deeanna Blondell Jamal Cecily Carmelina Maurine Tawna Penney Elly
Ilene Vallie Kallie Johnetta Bobbye Micaela Tamar Moon Laurel Delisa Viva
Elza Devorah Timothy Arlette Dominque Lettie Myra Stephaine Lai Stephen Tyra
Ferencz Saylors Briddick Waycott Bowley Malet Bolognia Nestle Uyetake Mastella Klonowski Wenner Monarrez Seewald Ahle
Juhas Pugh Vanausdal Hollack Lindall Yglesias Buvens Weight Morocco Eroman Mondella Blackwood Abdallah Rhym Rhymes Hoogland Parlato Reitler Crupi Toelkes Lipke Chickering Mulqueen Honeywell Dickerson Isenhower Munns Barfield Gato Emigh Shields
20 S Babcock St
2 Lighthouse Ave
38938 Park Blvd
5 Tomahawk Dr
762 S Main St
209 Decker Dr 4486WOSt#1
98839 Hawthorne Blvd #6101 71 San Mateo Ave
76 Brooks St #9
4545 Courthouse Rd
14288 Foster Ave #4121
4 Otis St
65895 S 16th St
14302 Pennsylvania Ave
201 Hawk Ct
53075 Sw 152nd Ter #615
59 N Groesbeck Hwy
2664 Lewis Rd
59 Shady Ln #53
3305 Nabell Ave #679
18 Fountain St
2853 S Central Expy
74 W College St
701 S Harrison Rd
1088 Pinehurst St
30 W 80th St #1995
20932 Hedley St
2737 Pistorio Rd #9230 74989 Brandon St
6 Kains Ave
47565 W Grand Ave
4284 Dorigo Ln
6794 Lake Dr E
31 Douglas Blvd #950 44W4thSt
11279 Loytan St
69 Marquette Ave 70WMainSt
461 Prospect Pl #316
47154 Whipple Ave Nw
37 Alabama Ave
3777 E Richmond St #900
3 Fort Worth Ave
Fairbanks AK Hopkins MN Boston MA Los Angeles CA Madison WI Philadelphia PA New York NY Tullahoma TN Columbia SC Wayne PA Flemington NJ Westbury NY Jenkintown PA Van Nuys CA Providence RI Huntingdon Valley PA Providence RI Monroe Township NJ Austin TX Littleton CO Milwaukee WI New York NY Anchorage AK Erie PA Glen Burnie MD Boise ID San Francisco CA Chapel Hill NC San Carlos CA Concord CA London OH Wellsville NY Baltimore MD Newark NJ Chicago IL Newark NJ Clovis NM Staten Island NY Jacksonville FL Hayward CA Beachwood OH Euless TX Gardena CA Evanston IL Akron OH Philadelphia PA
99712 907-741-1044 55343 952-768-2416 2128 617-399-5124 90006 323-453-2780 53711 608-336-7444 19132 215-907-9111 10003 212-402-9216 37388 931-875-6644 29201 803-925-5213 19087 610-814-5533 8822 908-877-6135 11590 516-968-6051 19046 215-934-8655 91405 818-423-4007 2909 401-458-2547 19006 215-211-9589 2904 401-960-8259 8831 732-234-1546 78731 512-486-3817 80126 303-724-7371 53214 414-748-1374 10009 212-674-9610 99515 907-797-9628 16502 814-393-5571 21061 410-914-9018 83707 208-862-5339 94104 415-315-2761 27514 919-225-9345 94070 650-528-5783 94520 925-647-3298 43140 740-343-8575 14895 585-866-8313 21215 410-520-4832 7105 973-354-2040 60647 773-446-5569 7104 973-927-3447 88101 505-975-8559 10309 718-332-6527 32254 904-775-4480 94545 510-993-3758 44122 216-657-7668 76040 817-914-7518 90247 310-774-7643 60201 847-728-7286 44302 330-537-5358 19106 215-255-1641

Tammara Cory Danica Wilda Elvera Carma Malinda Natalie Lisha
Wardrip Gibes Bruschke Giguere Benimadh Vanheusen Hochard Fern Centini
4800 Black Horse Pike 83649 W Belmont Ave 840 15th Ave
1747 Calle Amanecer #2 99385 Charity St #840 68556 Central Hwy
55 Riverside Ave 7140 University Ave 64 5th Ave #1153
Burlingame San Gabriel Waco Anchorage San Jose
San Leandro Indianapolis Rock Springs Mc Lean
CA 94010 CA 91776 TX 76708 AK 99501 CA 95110 CA 94577 IN 46202 WY 82901 VA 22102
650-803-1936 626-572-1096 254-782-8569 907-870-5536 408-703-8505 510-503-7169 317-722-5066 307-704-8713 703-235-3937


本网站支持淘宝 支付宝 微信支付  paypal等等交易。如果不放心可以用淘宝交易!

E-mail: [email protected]  微信:itcsdx