Witam. Mam coś problem z setem, bo raz zwraca mi wszystkie wpisane wartości nawet powtarzające się. A dwa mimo że mam w sysoucie że ma robić spacje po każdej iteracji to wyświetla wszystko w jednym ciągu. Zle wrzucam do setu czy zle odczytuje???
P.S Jak mogę w klasie pracownik w konstruktorze przy tworzeniu obiektu (lub inaczej) pobrac wartosc z tego setu? Tego już nie umiem :)
package ćw6;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class File
{
public static void file() throws Exception
{
Scanner scanner = new Scanner(System.in);
FileWriter Names = new FileWriter("Names.txt");
FileWriter Surnames = new FileWriter("Surnames.txt");
Set<String> ListNames = new HashSet<String>();
Set<String> ListSurnames = new HashSet<String>();
System.out.println("Podawaj imiona i nazwiska. Wyraz \"stop\" kończy wpisywanie\n");
System.out.print("Podaj imię: ");
String name = scanner.next();
System.out.print("Podaj nazwisko: ");
String surname = scanner.next();
while (((name.equalsIgnoreCase("stop")) || (surname.equalsIgnoreCase("stop"))) == false)
{
Names.write(name);
Surnames.write(surname);
System.out.print("Podaj imię: ");
name = scanner.next();
System.out.print("Podaj nazwisko: ");
surname = scanner.next();
}
System.out.println("\nWpisywanie zakończone!");
Names.close();
Surnames.close();
scanner.close();
try
{
FileReader readNames = new FileReader("Names.txt");
BufferedReader bufferedReaderNames = new BufferedReader(readNames);
String line = bufferedReaderNames.readLine();
while (line != null)
{
ListNames.add(line);
line = bufferedReaderNames.readLine();
}
bufferedReaderNames.close();
readNames.close();
} catch (FileNotFoundException e)
{
System.err.println("Nie można odnalezć pliku o nazwie \"Names.txt\"");
}
try
{
FileReader readSurnames = new FileReader("Surnames.txt");
BufferedReader bufferedReadSurnames = new BufferedReader(readSurnames);
String line = bufferedReadSurnames.readLine();
while (line != null)
{
ListSurnames.add(line);
line = bufferedReadSurnames.readLine();
}
bufferedReadSurnames.close();
readSurnames.close();
} catch (FileNotFoundException e)
{
System.err.println("Nie można znalezć pliku o nazwie \"Surnames.txt\"");
}
for (String n : ListNames)
{
System.out.print(n + " ");
}
System.out.println("\n");
for (String s : ListSurnames)
{
System.out.print(s + " ");
}
}
public static void main(String[] args)
{
try
{
file();
} catch (Exception e)
{
}
}
}