Проблема с программой поиска имени. Получение сообщения об ошибке «достигнут конец файла при разборе» - PullRequest
0 голосов
/ 14 мая 2019

Кажется, я не могу скомпилировать этот код. Скажите, пожалуйста, что я делаю не так?Я попытался добавить} повсюду, но, похоже, ничего не работает.Спасибо вам большое!Какие исправления я могу использовать, чтобы этот код правильно компилировался?

import java.util.ArrayList;
import java.util.Scanner;
import java.io.*;

public class NameSearch {
    public static void main(String args[]) throws IOException {

        ArrayList<String> searchName = new ArrayList <String>();
        String searchName = getNames();
        String boysNames;
        String girlsNames;

        displaySearchResults(searchName, boysNames, girlsNames);
    } 


    public static String getNames() {
        Scanner keyboard = new Scanner(System.in);

        File boysNames = new File("BoysNames.txt");
        Scanner inputFileBoysNames = new Scanner (boysNames);

        File girlsNames = new File("GirlsNames.txt");
        Scanner inputFileGirlsNames = new Scanner (girlsNames);

        System.out.println("Top 200 Name Search");
        System.out.print("Enter the name of your choosing here: ");

        String name = Keyboard.nextLine();
        Keyboard.close();
        return name;
    }

    public static void displaySearchResultsPing 
(String searchName, List<String> boysNames, List<String> girlsNames); 

    {

        System.out.println("\nBOOM! here are the results of your search: \n");

        boolean popularBoyName = boysNames.stream().anyMatch (p ->  p.equalsIgnoreCase(searchName));
        boolean popularGirlName = girlsNames.stream().anyMatch (p -> p.equalsIgnoreCase(searchName));


        if (popularBoyName) {
            System.out.println(searchName + "is a super popular boy's name. Pick another.");
        }
        if (popularGirlName) {
            System.out.println(searchName + "is a super popular girl's name. Pick another.");
        }
        if (!popularBoyName && !popularGirlName) {
            System.out.println (searchName + "is not a popular name. You have chosen correctly!");
        }
    }

1 Ответ

0 голосов
/ 14 мая 2019

Одна проблема заключается в том, что ваша подпись метода displaySearchResultsPing заканчивается ;.

Другая проблема заключается в том, что в методе main вы вызываете displaySearchResults(), но он не существует.

Затем вы читаете имена из файлов, но затем отбрасываете эти переменные.Например:

File boysNames = new File("BoysNames.txt");  // this is never kept or returned

И переменные boysNames и girlsNames в методе main никогда не устанавливаются на какое-либо значение - всегда null.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...