Чтение txt файла отдельными методами - PullRequest
0 голосов
/ 11 октября 2018

У меня есть текстовый файл, в котором я пытаюсь использовать разные методы, чтобы отделить определенный контент в файле и распечатать его в зависимости от того, какой метод выводится на печать.В этом случае я использую разные методы для разделения стран, в которых были люди, то есть john mexico или william cuba.Я сделал два разных класса (основной и супер класс).

Это супер класс

import java.util.*;

public class myHashSet{


public static HashSet <String> Mexico = new HashSet<>();
public static HashSet <String> Cuba = new HashSet<>();
public static HashSet <String> Jamaica = new HashSet<>();


//only mexico
public void Mexico(){
    Mexico.removeAll(Cuba);
    Mexico.removeAll(Jamaica);

    Iterator <String> m = Mexico.iterator();
    while(m.hasNext()){
        System.out.println(m.next());
    }

}

//only cuba
public void Cuba(){
    Cuba.removeAll(Mexico);
    Cuba.removeAll(Jamaica);

    Iterator <String> m = Cuba.iterator();
    while(m.hasNext()){
        System.out.println(m.next());
    }
}

//only jamaica
public void Jamaica(){
    Jamaica.removeAll(Mexico);
    Jamaica.removeAll(Cuba);

    Iterator <String> m = Jamaica.iterator();
    while(m.hasNext()){
        System.out.println(m.next());
    }
}

//person from every country
public void orCountries(){
    Jamaica.addAll(Mexico);
    Jamaica.addAll(Cuba);

    Iterator <String> m = Jamaica.iterator();
    while(m.hasNext()){
        System.out.println(m.next());
    }
}

//people who have been to all countries
public void allCountries(){
    Jamaica.retainAll(Mexico);
    Jamaica.retainAll(Cuba);

    Iterator <String> m = Jamaica.iterator();
    while(m.hasNext()){
        System.out.println(m.next());
    }
}

//only mexico and cuba
public void MexicoandCuba(){
    Mexico.addAll(Cuba);
    Cuba.removeAll(Jamaica);

    Iterator <String> m = Mexico.iterator();
    while(m.hasNext()){
        System.out.println(m.next());
    }
}
}

Тогда это мой основной класс, который должен использовать методы из суперкласса:

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

public class people extends myHashSet{

public people(String string) throws FileNotFoundException {
    Scanner input = new Scanner(new File("people.txt"));    
    read(input);
}

public void read(Scanner input){
    while(input.hasNext()){
        String name = input.next();
        String country = input.next();
        System.out.println(name + " " + country);

    }
}

public static void main(String[] args) throws FileNotFoundException {
        people p = new people("people.txt");
        p.Mexico();
        p.Cuba();
        p.Jamaica();
        p.orCountries();
        p.allCountries();
        p.MexicoandCuba();
    }
}

Я знаю, что проблема в том, что методы в myHashSet не читают файл, и это то, что я запутался в том, что делать с.Любая помощь будет принята с благодарностью!

...