JAVA PROGRAM I DO NOT NEED System.out.println(e.getMessage() + " is missing."); IN THE PROGRAM. PLEASE MODIFY THIS PROGRAMS O IT PASSSES THE TEST CASE. I HAVE PROVIDED A SCREENSHOT OF THE TEST CASE THAT FAILED AND THE INPUTS. THANK YOU. 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. import java.io.*; import java.util.*; public class NameSearcher { private static List loadFileToList(String filename) throws FileNotFoundException { List 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 namesList) { int index = namesList.indexOf(name.toLowerCase()); return index == -1 ? null : index + 1; } public static void main(String[] args) { List boyNames; List 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; }
JAVA
I DO NOT NEED System.out.println(e.getMessage() + " is missing."); IN THE PROGRAM. PLEASE MODIFY THIS PROGRAMS O IT PASSSES THE TEST CASE. I HAVE PROVIDED A SCREENSHOT OF THE TEST CASE THAT FAILED 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();
}
}
Step by step
Solved in 3 steps with 1 images