Witajcie, potrzebuję wskazówek, jak ruszyć takie oto zadanie.
Mam 4 klasy i polecenie.
Klasy są następujące:
import zad2.*;
public class **Main** {
public static void main(String[] a) {
EmpsList elist = new EmpsList();
elist.add(new Employee("A", "Aaa", 20, 2000));
elist.add(new Employee("B", "Bbb", 30, 4000));
elist.add(new Employee("C", "CCC", 40, 5000));
elist.showForward();
elist.showBackward();
elist.changeAllSalaries(10.0);
elist.showForward();
}
}
import java.util.Scanner;
import zad2.Employee;
public class **EmpsList** {
// na razie pusta
}
package zad3;
import java.util.Scanner;
import zad2.Employee;
public class **Emps** {
}
package zad2;
public class **Employee **{
private String firstName;
private String lastName;
private int age;
private double salary;
public Employee(String imie, String nazwisko, int wiek, double pensja){
this.firstName = imie;
this.lastName = nazwisko;
this.age = wiek;
this.salary = pensja;
}
public String getFirstName(){
return firstName;
}
public String getLastName(){
return lastName;
}
public void setSalary(double x){
salary = x;
}
public double getSalary(){
return salary;
}
public void chgSalary(double x){
salary *= (1 + x/100);
}
public int getAge(){
return age;
}
public String toString() {
return firstName + " " + lastName + " " + age + " " + salary;
}
}
Stworzyłem klasę Employee.
I się zawiesiłem.
Wszystkie 3 klasy oprócz klasy Employee są w tej samej paczce zad.3. Klasa Employee jest w paczce zad.2.
Zadanie jest jak następuje:
Lista pracowników:
Stworzyć klasę (o przykładowej nazwie Emps), której obiekty będą stanowić elementy (ogniwa) listy pracowników.
Każdy obiekt tej klasy zawiera trzy składniki: referencję do obiektu klasu Employee, który jest reprezentowany przez dany obiekt (e), referencję do poprzedniego elementu listy (prev) , referencję do następnego elementu listy (next).
Lista pracowników powinna być zrealizowana jako klasa EmpsList i może wygląda tak :
Zwróćmy uwagę, że tutaj w przypadku pierwszego elementu na liście wskazanie prev ma warość null (nie istnieje poprzedni element), a w przypadku ostatniego - wskazanie next ma wartość null (nie istnieje następny element).
Definicja klasy Employee - z poprzedniego zadania.
W klasie EmpsList dostarczyć:
- metody add(Employee e), dodającej na końcu listy element, reprezentujące pracownika e,
- metody showForward() i showBackward() wypisujące dane o pracownikach w kolejności od pierwszego elementu do ostatniego i odwrotnie,
- metodę changeAllSalaries - zmieniającą pensje wszystkich pracownikow na liście o podany jako argument procent.
Generator projektów stworzy (pustą) klasę EmpsList (którą trzeba wypełnić treścią) oraz testową klasę Main. Klasę Emps, używaną w opisie tego zadania należy utworzyć samodzielnie (i może ona miec dowolną nazwę).
Utworzona klasa Main ma następującą postać:
import zad2.*;
public class Main {
public static void main(String[] a) {
EmpsList elist = new EmpsList();
elist.add(new Employee("A", "Aaa", 20, 2000));
elist.add(new Employee("B", "Bbb", 30, 4000));
elist.add(new Employee("C", "CCC", 40, 5000));
elist.showForward();
elist.showBackward();
elist.changeAllSalaries(10.0);
elist.showForward();
}
}
a uruchomienie jej metody main winno wyprowadzić na konsolę następujące wyniki:
A Aaa 20 2000.0
B Bbb 30 4000.0
C CCC 40 5000.0
C CCC 40 5000.0
B Bbb 30 4000.0
A Aaa 20 2000.0
A Aaa 20 2200.0
B Bbb 30 4400.0
C CCC 40 5500.0
Kod klasy Main (utworzony przez generator) nie może być w żaden sposób zmieniony, a forma wydruku jest obowiązkowa.
Uwaga przy oprogramowaniu klasy EmpsList:
nie wolno używać tablic,
nie wolno używac gotowych klas (ze standardu Javy lub bibliotek zewnętrznych) realizujących koncepcję listy (kolekcji).
Poproszę o wskazówki, co dalej, nie wiem, od której strony ugryźć to.
Dziękuję,
Gieno