• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

praca z plikami, dziedziczenie.

Object Storage Arubacloud
0 głosów
115 wizyt
pytanie zadane 26 kwietnia 2018 w Java przez Adrian Paź Obywatel (1,270 p.)

Witam. To znowu ja :P jest już na etapie zawieszania sobie pętli na szyji... Totalnie utknąłem.. A problem jest taki:
1) Po fizycznym otworzeniu pliku do którego wcześniej zapisuje stringi wszystko jest w JEDNEJ linii. jak wyświetlam w programie Set do którego wrzuciłem kolejne stringi to wyświetla dobrze.
2) zrobiłem nową klasę która rozszerzza tą klase file, pobiera sety i wrzuca je do listy(dzięki temu mogę pobierać i usuwać elementy). Cały czas było pusto więc sprawdziłem i dla dwóch list do której wrzuciłem wszystkie elementy z setu wartości isEmpty() dają mi w obydwu przypadkach true
3) Jak mogę wywoływać te klasy wzajemnie? Bo teraz uruchamiam program z klasy file zapisuje i odczytuje, potem uruchamiam program z innej klasy, która pobiera wartości z pierwszej. Bardzo proszę o pomoc. Pewnie są gdzieś głupie błędy więc proszę o wyrozumiałość. Mam problemz tymi 3 punktami.

[(http://wklejto.pl/530666)] <--klasa File

[(http://wklejto.pl/530668)] <--klasa Pracownik która rozszerza klase File

2 odpowiedzi

0 głosów
odpowiedź 26 kwietnia 2018 przez Wiciorny Ekspert (270,110 p.)
Chętnie pomogę, tylko wrzuć kod tutaj na forum w odpowiednie tagi
komentarz 26 kwietnia 2018 przez Adrian Paź Obywatel (1,270 p.)
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
{
	static Set<String> ListNames = new HashSet<String>();
	static Set<String> ListSurnames = new HashSet<String>();

	public static void file() throws Exception
	{
		Scanner scanner = new Scanner(System.in);
		FileWriter Names = new FileWriter("Names.txt");
		FileWriter Surnames = new FileWriter("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)
			{
				Names.write(name);
				Names.write("\n");
				Surnames.write(surname);
				Surnames.write("\n");
				System.out.print("Podaj imię: ");
				name = scanner.nextLine();
				System.out.print("Podaj nazwisko: ");
				surname = scanner.nextLine();

			}
		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)
			{
			}
	}
}
package ćw6;

import java.util.LinkedList;
import java.util.Random;

public class Pracownik extends File
{
	String Name;
	String LastName;
	int age;

	public Pracownik(String a, String b, int c)
	{
		this.Name = a;
		this.LastName = b;
		this.age = c;
	}

	static void getName()
	{
		LinkedList<String> LinkedListNames = new LinkedList<>();
		LinkedListNames.addAll(ListNames);
		System.out.println(LinkedListNames.isEmpty());
	}

	static void getSurname()
	{
		LinkedList<String> LinkedListSurnames = new LinkedList<>();
		LinkedListSurnames.addAll(ListSurnames);
		System.out.println(LinkedListSurnames.isEmpty());

	}

	static int getAge()
	{
		Random random = new Random();
		int age = random.nextInt(32) + 18;
		return age;
	}

	public static void main(String[] args)
	{
		getName();
		getSurname();
		/*
		 * Pracownik pracownik1 = new Pracownik(getName(), getSurname(), getAge());
		 * Pracownik pracownik2 = new Pracownik(getName(), getSurname(), getAge());
		 * Pracownik pracownik3 = new Pracownik(getName(), null, getAge());
		 * System.out.println(pracownik1); System.out.println(pracownik2);
		 * System.out.println(pracownik3);
		 */
	}
}

 

komentarz 27 kwietnia 2018 przez Wiciorny Ekspert (270,110 p.)
   public Pracownik(String a, String b, int c)
    {
        super();
        this.Name = a;
        this.LastName = b;
        this.age = c;
    }
 

z racji klasy file statycznej spróbuj tak, co prawda dziedziczysz po Klasie statycznej wszystko rozszerzając co nie prywante, to tak naprawde przydało by sie jakoś zainicjalizować File przy tworzeniu np persona. Spróbuj tak 

 super. Służy ona do wywoływania konstruktorów klasy nadrzędne

 

0 głosów
odpowiedź 26 kwietnia 2018 przez Mateusz51 Nałogowiec (28,180 p.)
Tak na szybko jeden błąd. W main pliku pracownik nie wywołujesz metody file() co powoduje ze nic sie nie ładuje do setów. Pewnie znalazło by sie coś wiecej ale nie mam czasu aby wiecej popatrzec

Podobne pytania

0 głosów
1 odpowiedź 204 wizyt
pytanie zadane 31 stycznia 2021 w Java przez p_wel Nowicjusz (120 p.)
0 głosów
1 odpowiedź 173 wizyt
pytanie zadane 29 sierpnia 2019 w Java przez poldeeek Mądrala (5,980 p.)
0 głosów
2 odpowiedzi 348 wizyt
pytanie zadane 6 grudnia 2018 w Java przez klestdrsv Nowicjusz (180 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...