JAVA PROGRAM

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

JAVA PROGRAM

Homework #2. Chapter 7. PC #13. Name Search (page 492)
Read these instructions for additional requirements carefully.
Write a program that reads the contents of the two files into two separate arrays. The user should be able to enter a name the application will display messages indicating whether the names were among the most popular.
1. GirlNames.txt and BoyNames.txt contain a list of the 200 most popular names given to girls/boys born in the United States for the years 2000 through 2009.
2. Your application should use an array to hold the names.
3. The program should continue interacting with the user indefinitely unless the user chooses to quit by entering "QUIT" (should be case insensitive).
4. The user should enter a single name and the program will search the name in both lists. The user SHOULD NOT specify whether the search is for girls name or boys name. The program is responsible for finding either or both and telling the user where it found it.
5. The program should display one of the following four results (examples):
* The name 'Annabelle' was not found in either list.
* The name 'Xavier' was found in popular boy names list (line 81).
* The name 'Amanda' was found in popular girl names list (line 63).
* The name 'Jordan' was found in both lists: boy names (line 38) and girl names (line 75).
6. The search should be case insensitive, but the resulting message should always display names in properly capitalized format (the first letter uppercase all others lowercase).
7. The files should only be opened/loaded and closed once per program session (at the beginning of the program execution). During the search the files should be closed.
8. If any or both of the files are missing, display a message to the user informing which file is missing or if both files are missing and exit the program.
9. Your program should contain properly defined and used methods. For example, your program should have a method that loads a file into an array. This method should take one parameter for the file name to be loaded and return an array of Strings. Another method should take a name and an array reference and perform a search and return results to the calling method.
10. Do not upload input text files.

PLEASE MODIFY THIS PROGRAM WHICH IS LISTED BELOW AND TAKE OUT System.out.println(e.getMessage() + " is missing.");. ALSO I DO NOT NEED A GOODBYE IN THE PROGRAM. I HAVE PROVIDED A SCREENSHOT OF THE TEST CASE THAT IT NEEDS TO PASS AND THE INPUTS. THANK YOU.

 import java.io.*;
import java.util.*;

public class NameSearcher {
   
    private static List<String> loadFileToList(String filename) throws FileNotFoundException {
        List<String> namesList = new ArrayList<>();
        File file = new File(filename);
       
        if (!file.exists()) {
            throw new FileNotFoundException(filename);
        }
       
        try (Scanner scanner = new Scanner(file)) {
            while (scanner.hasNextLine()) {
                namesList.add(scanner.nextLine().trim().toLowerCase());
            }
        }
        return namesList;
    }

    private static Integer searchNameInList(String name, List<String> namesList) {
        int index = namesList.indexOf(name.toLowerCase());
        return index == -1 ? null : index + 1;
    }

    public static void main(String[] args) {
        List<String> boyNames;
        List<String> girlNames;

        try {
            boyNames = loadFileToList("Boynames.txt");
            girlNames = loadFileToList("Girlnames.txt");
        } catch (FileNotFoundException e) {
            System.out.println(e.getMessage() + " is missing.");
            return;
        }

        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.println("Enter a name to search or type QUIT to exit: ");
            String input = scanner.nextLine().trim();
           
            if (input.equalsIgnoreCase("QUIT")) {
                break;
            }
           
            String capitalizedInput = input.substring(0, 1).toUpperCase() + input.substring(1).toLowerCase();
            Integer boyIndex = searchNameInList(input, boyNames);
            Integer girlIndex = searchNameInList(input, girlNames);
           
            if (boyIndex == null && girlIndex == null) {
                System.out.println("The name '" + capitalizedInput + "' was not found in either list.");
            } else if (boyIndex != null && girlIndex == null) {
                System.out.println("The name '" + capitalizedInput + "' was found in popular boy names list (line " + boyIndex + ").");
            } else if (boyIndex == null && girlIndex != null) {
                System.out.println("The name '" + capitalizedInput + "' was found in popular girl names list (line " + girlIndex + ").");
            } else {
                System.out.println("The name '" + capitalizedInput + "' was found in both lists: boy names (line " + boyIndex + ") and girl names (line " + girlIndex + ").");
            }
        }
        scanner.close();
    }
}

 
L
8:34 S
BOYNAMES.TXT.jpg
Search
OT5GUC l 57%
content://media/external/fil 5
Jacob Michael Joshua Matthew Daniel
Christopher Andrew Ethan Joseph William
Anthony David Alexander Nicholas Ryan
Tyler James John Jonathan Noah Brandon
Christian Dylan Samuel Benjamin Zachary
Nathan Logan Justin Gabriel Jose Austin
Kevin Elijah Caleb Robert Thomas Jordan
Cameron Jack Hunter Jackson Angel Isaiah
Evan Isaac Mason Luke Jason Gavin Jayden
Aaron Connor Aiden Aidan Kyle Juan Charles
Luis Adam Lucas Brian Eric Adrian Nathaniel
Sean Alex Carlos Bryan Ian Owen Jesus
Landon Julian Chase Cole Diego Jeremiah
Steven Sebastian Xavier Timothy Carter
Wyatt Brayden Blake Hayden Devin Cody
Richard Seth Dominic Jaden Antonio Miguel
Liam Patrick Carson Jesse Tristan Alejandro
Henry Victor Trevor Bryce Jake Riley Colin
Jared Jeremy Mark Caden Garrett Parker
Marcus Vincent Kaleb Kaden Brady Colton
Kenneth Joel Oscar Josiah Jorge Cooper
Ashton Tanner Eduardo Paul Edward Ivan
Preston Maxwell Alan Levi Stephen Grant
Nicolas Omar Dakota Alexis George Collin Eli
Spencer Gage Max Cristian Ricardo Derek
Micah Brody Francisco Nolan Ayden Dalton
Shane Peter Damian Jeffrey Brendan Travis
Fernando Peyton Conner Andres Javier
Giovanni Shawn Braden
Cesar Bradley
Emmanuel Manuel Edgar Erik Mario Edwin
Johnathan Devon Erick Wesley Oliver
Trenton Hector Malachi Jalen Raymond
Gregory Abraham Elias Leonardo Sergio
Donovan Colby Marco Bryson Martin
O
GIRLNAMES.TXT.jpg
Search
12:39 1
OT lll 50%
Emily Madison Emma Olivia Hannah Abigail
Isabella Samantha Elizabeth Ashley Alexis
Sarah Sophia Alyssa Grace Ava Taylor
Brianna Lauren Chloe Natalie Kayla Jessica
Anna Victoria Mia Hailey Sydney Jasmine
Julia Morgan Destiny Rachel Ella Kaitlyn
Megan Katherine Savannah Jennifer
Alexandra Allison Haley Maria Kaylee Lily
Makayla Brooke Mackenzie Nicole Addison
Stephanie Lillian Andrea Zoe Faith Kimberly
Madeline Alexa Katelyn Gabriella Gabrielle
Trinity Amanda Kylie Mary Paige Riley Jenna
Leah Sara Rebecca Michelle Sofia Vanessa
Jordan Angelina Caroline Avery Audrey
Evelyn Maya Claire Autumn Jocelyn Ariana
Nevaeh Arianna Jada Bailey Brooklyn
Aaliyah Amber Isabel Danielle Mariah
Melanie Sierra Erin Molly Amelia Isabelle
Madelyn Melissa Jacqueline Marissa Shelby
Angela Leslie Katie Jade Catherine Diana
Aubrey Mya Amy Briana Sophie Gabriela
Breanna Gianna Kennedy Gracie Peyton
Adriana Christina Courtney Daniela Kathryn
Lydia Valeria Layla Alexandria Natalia Angel
Laura Charlotte Margaret Cheyenne Mikayla
Miranda Naomi Kelsey Payton Ana Alicia
Jillian Daisy Mckenzie Ashlyn Caitlin Sabrina
Summer Ruby Rylee Valerie Skylar Lindsey
Kelly Genesis Zoey Eva Sadie Alexia Cassidy
Kylee Kendall Jordyn Kate Jayla Karen
Tiffany Cassandra Juliana Reagan Caitlyn
Giselle Serenity Alondra Lucy Kiara Bianca
Crystal Erica Angelica Hope Chelsea Alana
Liliana Brittany Camila Makenzie Veronica
Lilly Abby Jazmin Adrianna Karina Delaney
Ellie Jasmin
Transcribed Image Text:L 8:34 S BOYNAMES.TXT.jpg Search OT5GUC l 57% content://media/external/fil 5 Jacob Michael Joshua Matthew Daniel Christopher Andrew Ethan Joseph William Anthony David Alexander Nicholas Ryan Tyler James John Jonathan Noah Brandon Christian Dylan Samuel Benjamin Zachary Nathan Logan Justin Gabriel Jose Austin Kevin Elijah Caleb Robert Thomas Jordan Cameron Jack Hunter Jackson Angel Isaiah Evan Isaac Mason Luke Jason Gavin Jayden Aaron Connor Aiden Aidan Kyle Juan Charles Luis Adam Lucas Brian Eric Adrian Nathaniel Sean Alex Carlos Bryan Ian Owen Jesus Landon Julian Chase Cole Diego Jeremiah Steven Sebastian Xavier Timothy Carter Wyatt Brayden Blake Hayden Devin Cody Richard Seth Dominic Jaden Antonio Miguel Liam Patrick Carson Jesse Tristan Alejandro Henry Victor Trevor Bryce Jake Riley Colin Jared Jeremy Mark Caden Garrett Parker Marcus Vincent Kaleb Kaden Brady Colton Kenneth Joel Oscar Josiah Jorge Cooper Ashton Tanner Eduardo Paul Edward Ivan Preston Maxwell Alan Levi Stephen Grant Nicolas Omar Dakota Alexis George Collin Eli Spencer Gage Max Cristian Ricardo Derek Micah Brody Francisco Nolan Ayden Dalton Shane Peter Damian Jeffrey Brendan Travis Fernando Peyton Conner Andres Javier Giovanni Shawn Braden Cesar Bradley Emmanuel Manuel Edgar Erik Mario Edwin Johnathan Devon Erick Wesley Oliver Trenton Hector Malachi Jalen Raymond Gregory Abraham Elias Leonardo Sergio Donovan Colby Marco Bryson Martin O GIRLNAMES.TXT.jpg Search 12:39 1 OT lll 50% Emily Madison Emma Olivia Hannah Abigail Isabella Samantha Elizabeth Ashley Alexis Sarah Sophia Alyssa Grace Ava Taylor Brianna Lauren Chloe Natalie Kayla Jessica Anna Victoria Mia Hailey Sydney Jasmine Julia Morgan Destiny Rachel Ella Kaitlyn Megan Katherine Savannah Jennifer Alexandra Allison Haley Maria Kaylee Lily Makayla Brooke Mackenzie Nicole Addison Stephanie Lillian Andrea Zoe Faith Kimberly Madeline Alexa Katelyn Gabriella Gabrielle Trinity Amanda Kylie Mary Paige Riley Jenna Leah Sara Rebecca Michelle Sofia Vanessa Jordan Angelina Caroline Avery Audrey Evelyn Maya Claire Autumn Jocelyn Ariana Nevaeh Arianna Jada Bailey Brooklyn Aaliyah Amber Isabel Danielle Mariah Melanie Sierra Erin Molly Amelia Isabelle Madelyn Melissa Jacqueline Marissa Shelby Angela Leslie Katie Jade Catherine Diana Aubrey Mya Amy Briana Sophie Gabriela Breanna Gianna Kennedy Gracie Peyton Adriana Christina Courtney Daniela Kathryn Lydia Valeria Layla Alexandria Natalia Angel Laura Charlotte Margaret Cheyenne Mikayla Miranda Naomi Kelsey Payton Ana Alicia Jillian Daisy Mckenzie Ashlyn Caitlin Sabrina Summer Ruby Rylee Valerie Skylar Lindsey Kelly Genesis Zoey Eva Sadie Alexia Cassidy Kylee Kendall Jordyn Kate Jayla Karen Tiffany Cassandra Juliana Reagan Caitlyn Giselle Serenity Alondra Lucy Kiara Bianca Crystal Erica Angelica Hope Chelsea Alana Liliana Brittany Camila Makenzie Veronica Lilly Abby Jazmin Adrianna Karina Delaney Ellie Jasmin
Test Case 1
Enter a name to search or type QUIT to exit: \n
Annabelle ENTER
The name 'Annabelle' was not found in either list. \n
Enter a name to search or type QUIT to exit: \n
Xavier ENTER
The name 'Xavier' was found in popular boy names list (line 81). \n
Enter a name to search or type QUIT to exit: \n
AMANDA ENTER
The name 'Amanda' was found in
Enter a name to search or type
jordAn ENTER
popular girl names list (line 63). \n
QUIT to exit: \n
The name 'Jordan' was found in both lists: boy names (line 38) and girl names (line 75).\n
Enter a name to search or type QUIT to exit: \n
quit ENTER
Transcribed Image Text:Test Case 1 Enter a name to search or type QUIT to exit: \n Annabelle ENTER The name 'Annabelle' was not found in either list. \n Enter a name to search or type QUIT to exit: \n Xavier ENTER The name 'Xavier' was found in popular boy names list (line 81). \n Enter a name to search or type QUIT to exit: \n AMANDA ENTER The name 'Amanda' was found in Enter a name to search or type jordAn ENTER popular girl names list (line 63). \n QUIT to exit: \n The name 'Jordan' was found in both lists: boy names (line 38) and girl names (line 75).\n Enter a name to search or type QUIT to exit: \n quit ENTER
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Introduction to computer system
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education