A local non-profit wants to develop a Java Based Bible Reading Application. They have recruited you to
Question:
A local non-profit wants to develop a Java Based Bible Reading Application. They have recruited you to help them in this endeavor. The application will store the Bible text organized in instances of four classes:
Verse – verse in the Bible. An instance of the Verse class will have the following methods supported:
String getText() – returns the text of the verse instance.
String getId() – returns the book, chapter, and verse number as a String.
String toString() – returns the contents of the instance in the format: number text
A class constructor in the form: Verse(String id, String text)
Override toString() to display “verse number : text”
Chapter – chapter in the Bible. An instance of Chapter will have the following methods supported:
ArrayList
String getId() – returns the book and chapter number as a String
void addVerse(Verse v) – adds a Verse instance to the collection in the Chapter instance
A class constructor in the form of Chapter(String bookname, String number)
String toString() – returns a string containing all the verses in the Chapter instance. Hint: iterate through the Verse list calling its toString(). At the start of the iteration, output the Chapter number.
Book – book in the Bible.
String getId() – returns the name of the Book instance
ArrayList
A class constructor in the form of Book(String name)
void addChapter(Chapter c) – adds a Chapter instance to the collection in the Book instance
String toString() – returns a string containing all the Verses in all the Chapters in the Book instance. This is just doing the same thing as Chapter toString() except that you iterate over the Chapter list calling toString() at each instance.
Bible
String getId() – returns the translation of this Bible instance (i.e. NIV).
ArrayList
Void addBook(Book b) – adds a Book instance to the collection of Books in the Bible instance
String toString() – returns the version followed by all the books, chapters, and verses in the instance.
A class constructor in the form of Bible(String id)
Deliverables:
Construct the aforementioned classes. There should be a Verse.java, Chapter.java, Book.java, and Bible.java.
Place classes in package biblemodel package.
Implement the methods described above. Be sure to document the methods using JavaDoc.
Construct a test class (BibleTest.java) with a main method. Place this class in the test package. The main method should do the following:
Create a static main method as an entry point for the application. In that method:
Construct a Verse object and assign text as well as a verse number. Use the text: “In the beginning God created the heavens and the earth.”
Construct a Chapter object and add the previous Verse object to its collection. Set the Chapter number to 1.
Construct a Book object and add the previous Chapter object to its Chapter collection. Set the book name to “Genesis”.
Construct a Bible object and set the version to “NIV”
Now add the verse instance to the chapter instance and the chapter instance to the book instance. Finally, add the book instance to the bible instance.
Output the contents of your “bible” by calling System.out.println(bible.toString());
Turn project per standard requirements. Be sure to include a screen shot of the output window showing the output of your project. Your output should look like: