Witam! Ten program to moj pierwszy w sumie taki większy projekt :) do tej pory robiłem małe zadanka i było wszystko ok, teraz się zaczęły problemy i bardzo proszę o pomoc. Dalej nie rozumiem jak mam to zrobić. Chodzi o to, że wywołuje się metoda record. Wpisuję imiona i nazwiska do plików. No i program się zatrzymuje. Nie wiem jak zrobić, żeby dalsza część kodu z klasy Pracownik się wykonywała. I co mam zrobić, żeby wartości name i surname ktore są odczytywane w klasie Firma nie były wartościami null??
package ćw6;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintStream;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.Set;
public class File
{
static Set<String> SetNames = new HashSet<String>();
static Set<String> SetSurnames = new HashSet<String>();
static LinkedList<String> ListNames = new LinkedList<String>();
static LinkedList<String> ListSurnames = new LinkedList<String>();
public static void record() throws IOException
{
Scanner scanner = new Scanner(System.in);
PrintStream namesWriter = new PrintStream("Names.txt");
PrintStream surnamesWriter = new PrintStream("Surnames.txt");
System.out.println("Podawaj imiona i nazwiska. Wyraz \"stop\" kończy wpisywanie\n");
System.out.print("Podaj imię: ");
String name = scanner.nextLine();
System.out.print("Podaj nazwisko: ");
String surname = scanner.nextLine();
while (((name.equalsIgnoreCase("stop")) ||
(surname.equalsIgnoreCase("stop"))) == false)
{
namesWriter.println(name);
surnamesWriter.println(surname);
System.out.print("Podaj imię: ");
name = scanner.nextLine();
System.out.print("Podaj nazwisko: ");
surname = scanner.nextLine();
}
System.out.println("\nWpisywanie zakończone!");
namesWriter.close();
surnamesWriter.close();
scanner.close();
}
public static LinkedList<String> readingNames() throws FileNotFoundException, IOException
{
try
{
FileReader readNames = new FileReader("Names.txt");
BufferedReader bufferedReaderNames = new BufferedReader(readNames);
String line = bufferedReaderNames.readLine();
while (line != null)
{
SetNames.add(line);
line = bufferedReaderNames.readLine();
}
ListNames.addAll(SetNames);
bufferedReaderNames.close();
readNames.close();
} catch (FileNotFoundException e)
{
System.err.println("Nie można odnalezć pliku o nazwie \"Names.txt\"");
} catch (IOException e)
{
System.err.println("Nieznany błąd wejścia typu Input-Output");
}
return ListNames;
}
public static LinkedList<String> readingSurnames()
{
try
{
FileReader readSurnames = new FileReader("Surnames.txt");
BufferedReader bufferedReadSurnames = new BufferedReader(readSurnames);
String line = bufferedReadSurnames.readLine();
while (line != null)
{
SetSurnames.add(line);
line = bufferedReadSurnames.readLine();
}
ListSurnames.addAll(SetSurnames);
bufferedReadSurnames.close();
readSurnames.close();
} catch (FileNotFoundException e)
{
System.err.println("Nie można znalezć pliku o nazwie \"Surnames.txt\"");
} catch (IOException e)
{
System.err.println("Nieznany błąd wejścia typu Input-Output");
}
return ListSurnames;
}
}
package ćw6;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.LinkedList;
import java.util.Random;
public class Pracownik
{
String name = lista1.removeLast();;
String surname = lista2.removeLast();;
int age;
static LinkedList<String> lista1 = new LinkedList<String>();
static LinkedList<String> lista2 = new LinkedList<String>();
public Pracownik()
{
}
public String getName()
{
return name;
}
public String getSurname()
{
return surname;
}
public void setAge(int age)
{
Random random = new Random();
age = random.nextInt(30) + 20;
this.age = age;
}
public int getAge()
{
return age;
}
public static void main(String[] args)
{
try
{
Pracownik pracownik = new Pracownik();
File.record();
lista1.addAll(File.readingNames());
File.readingSurnames();
lista2.addAll(File.readingNames());
System.out.println(pracownik.getName());
} catch (FileNotFoundException e)
{
System.out.println("Pliku nie znaleziono!");
} catch (IOException e)
{
System.out.println("Nieznany błąd typu Input-Output");
}
}
}
package ćw6;
public class Firma
{
public static void main(String[] args)
{
Pracownik pracownik = new Pracownik();
System.out.println(pracownik.name);
System.out.println(pracownik.surname);
System.out.println(pracownik.age);
}
}