Wykorzystanie klas? Java

0

Witam. Stworzyłem następujące klasy:

public class Pracownik {

	private String imie;
	private String nazwisko;
	private String stanowisko;
	private double placa;

	public void Pracownik(String imie_2, String nazwisko_2)
		{
			imie = imie_2;
			nazwisko = nazwisko_2;
		}


	public String GetImie(){
		return imie;
		}
	public String GetNazwisko() {
		return nazwisko;
		}
	public String GetStanowisko() {
		return stanowisko;
		}
	public double GetPlaca() {
		return placa;
		}

	public void SetImie(String imie_2){
		 imie = imie_2;
		 }
	public void SetNazwisko(String nazwisko_2){
		 nazwisko = nazwisko_2;
		 }
	public void SetStanowisko(String stanowisko_2){
		 stanowisko = stanowisko_2;
		 }
	public void SetPlaca(double placa_2){
		 placa = placa_2;
		}
	}
public class Firma {

	String nazwa;
	Pracownik [] tab;
	int count,max;

	public Firma (String n, int ile) {
		tab = new Pracownik[ile];
		for(int i=0; i<ile ;i++)
			tab[i] = new Pracownik();

		nazwa=n;
		max=ile;
		count=0;
	}

	public void DodajPracownika(Pracownik pracownik) {
		if(count == max) return;
		else {
			tab[count] = pracownik;
			count++;
		}

	}

	public Pracownik PobierzPracownika(int nr) {
		if(nr >= 0 && nr < max) return tab[nr];
		else throw new IndexOutOfBoundsException("zly indeks");
	}

	public double CalkowitaPensja() {
		double suma = 0;
		for(int i = 0; i < max; i++) suma = suma + tab[i].GetPlaca();
		return suma;

	}


}

No i moje polecenie brzmi... "Napisz program wykorzystujący klasy stworzone podczas laboratorium. Podczas demonstracji powinny zostać wykorzystane wszystkie metody z obu klas: Pracownik i Firma.". Problem w tym, że nie rozumiem całkowicie co napisać.

Treść poprzednich zadań to:
Zadanie 1. Zdefiniuj klasę Pracownik, zawierającą następujące pola:

  • Imię : string
  • Nazwisko : string
  • Stanowisko : string
  • Płaca : double
    Dla wszystkich powyższych składowych zdefiniuj metody dostępu, pozwalające na odczytywanie i ustawianie wartości, na przykład dla składowej Nazwisko:
  • public string getNazwisko();
  • public void setNazwisko(string nazwisko);
    W klasie Pracownik zdefiniuj nowy konstruktor, który pobierze i ustawi imię i nazwisko podczas tworzenia nowego obiektu.

Zadanie 2. Zdefiniuj nową klasę Firma, zawierającą następujące pola:

  • Nazwa : string
  • Pracownicy : Pracownik[N] (tablica N pracowników)
    W klasie Firma zdefiniuj nowy konstruktor, który pobierze nazwę firmy oraz ilość pracowników (parametr N). Konstruktor powinien zadbać o stworzenie pustej tablicy N pracowników.
    W klasie Firma zdefiniuj następujące metody:
  • public void DodajPracownika(Pracownik pracownik) – metoda dodaje nowego pracownika do tablicy pracowników w obiekcie Firma. Metoda powinna dbać o to, żeby nie przekroczyć maksymalnej liczby pracowników N.
  • public Pracownik PobierzPracownika(int numer pracownika) – metoda powinna pobierać pracownika o wskazanym numerze z tablicy pracowników.
  • Public dobule CalkowitaPensja() – metoda oblicza i zwraca pensję wszystkich zdefiniowanych pracowników.
0

No wykorzystaj to co zrobiłeś na laboratorium. Stwórz obiekt klasy firma i wykorzystaj jej metody. Przy użyciu akcesorów z klasy Pracownik ponadawaj pracownikom w tablicy wartości(Imiona, Nazwiska, Płace i Stanowisko).

A tak ogólnie... to czytając Twoje zadanie to masz to nie do końca dobrze.

Swoją drogą nie wiedziałem że na studiach robi się takie ćwiczenia.

0
dejmien napisał(a):

A tak ogólnie... to czytając Twoje zadanie to masz to nie do końca dobrze.

Co w nich jest nie tak? Wydaje mi się, że wszystko zostało wykonane raczej poprawnie.

1

W klasie Pracownik zdefiniuj nowy konstruktor, który pobierze i ustawi imię i nazwisko podczas tworzenia nowego obiektu.

Nie masz takowego konstruktora.

W klasie Firma zdefiniuj nowy konstruktor, który pobierze nazwę firmy oraz ilość pracowników (parametr N). Konstruktor powinien zadbać o stworzenie pustej tablicy N pracowników.

Nie tworzysz pustej tablicy pracowników... wypełniasz ją pracownikami bez wartości.

0
dejmien napisał(a):

W klasie Pracownik zdefiniuj nowy konstruktor, który pobierze i ustawi imię i nazwisko podczas tworzenia nowego obiektu.

Nie masz takowego konstruktora.

	public void Pracownik(String imie_2, String nazwisko_2)
		{
			imie = imie_2;
			nazwisko = nazwisko_2;
		}

Docelowo to powinno być ów konstruktorem. Co do drugiego masz rację.

Stwórz obiekt klasy firma i wykorzystaj jej metody. Przy użyciu akcesorów z klasy Pracownik ponadawaj pracownikom w tablicy wartości(Imiona, Nazwiska, Płace i Stanowisko).

Należy to wykonać i zadanie będzie jako-tako wykonane, tak? Programowanie dla mnie to czarna magia, pomimo czterech lat nauki tego... nie ma bata bym dał rady się tego nauczyć. No i nie planuję na szczęście z tym przyszłości.

0

No to faktycznie kiepsko jak cztery lata nauki i masz problemy z takim zadaniem...

 public Pracownik(String imie_2, String nazwisko_2)
        {
            this.imie = imie_2;
            this.nazwisko = nazwisko_2;
        }

Tak wygląda konstruktor... bez void, przedtem miałeś metodę.

Należy to wykonać i zadanie będzie jako-tako wykonane, tak?

Tak pododawaj do tablicy nowych pracowników w konstruktorze ponadawaj im imiona i nazwiska a później każdemu ustaw płace i stanowisko przy użyciu akcesora lub ustaw je od razu w konstruktorze. Następnie wyświetl to wszystko w konsoli.

0
dejmien napisał(a):

No to faktycznie kiepsko jak cztery lata nauki i masz problemy z takim zadaniem...

Jestem tego świadom. Nie jest to absolutnie moja dziedzina i chyba nigdy nie ogarnę o co w tym chodzi. Po prostu... mózg mówi "NIE" na hasło programowanie. Z niczym innym nie mam większego problemu jeśli chodzi o przyswajanie wiedzy.

No nic, czas się zabrać do roboty. Ciężko to widzę, bo nie wiem nawet jak zacząć. Zapewne należy na początku zapytać ilu pracowników dodać, a potem to zrobić(tj. wczytać zmienną "ile" wybieraną przez użytkownika)?

1 użytkowników online, w tym zalogowanych: 0, gości: 1