kolejność wykonywania programu

0

Może ktoś spojrzeć, czy dobrze to rozumiem kolejność działania programu?

  1. Tworzenie i uruchamianie obiektów dzięki metodzie main.
  2. Inicjalizacja tablicy staff typu klasy Employee.
  3. Wywołanie metody raiseSalary o argumencie 5
  4. Inicjalizacja pól dzięki konstruktorowi, który pobiera elementy tablicy o indeksach 0-2 za każdym razem podczas działania pętli for each.
    a)
 staff[0] = new Employee("x", y, z, m, n);

-> mamy obiekt Employee o indeksie 0 o elemntach x y z m n. Używam dobrej terminologii?
b) "za każdym razem" -> to złe sformułowanie. Lepiej powiedzieć podczas iteracji pętli for each?
c) czy inicjalizacja elementami obiektu tablicy o indeksie 0 następuje na początku działania programu?
5. Wywołanie pętli w której wyświetlam elementy z każdego obiektu tablicy włącznie z zaktualizowanymi zarobkami

Głupie pytanie. Dlaczego metoda raiseSalary działa skoro zwracamy wartość typu void czyli nic nie zwracamy?

public void raiseSalary(double byPercent)
{
double raise = salary * byPercent / 100;
salary += raise;
}
import java.util.*;

public class AnalIza
        {
            public static void main(String[] args)
        {
            Employee[] staff = new Employee[3];

            staff[0] = new Employee("Shalom", 3045, 2004, 1, 30);
            staff[1] = new Employee("kq", 1770, 2013, 6, 23);
            staff[2] = new Employee("Somekind", 1765, 2008, 3, 1);

            for (Employee e : staff)
                e.raiseSalary(5);

            for (Employee e : staff)
                System.out.println("name=" + e.getName() + " ,salary=" + e.getSalary() + ",hireDay=" + e.getHireDay());

        }
        }
        class Employee
        {
            private String name;
            private double salary;
            private Date hireDay;

            public Employee(String n, double s, int year, int month, int day)
            {
                name = n;
                salary = s;
                GregorianCalendar calendar = new GregorianCalendar(year, month-1, day);
                hireDay = calendar.getTime();
            }
            public String getName()
            {
                return name;
            }
            public double getSalary()
            {
                return salary;
            }
            public Date getHireDay()
            {
                return hireDay;
            }
            public void raiseSalary(double byPercent)
            {
                double raise = salary * byPercent / 100;
                salary += raise;
            }
        }
0
  1. Tworzenie tablicy wskaźników na obiekty klasy "Robol", następnie wypełnienie pól tablicy wskaźnikami na obiekty klasy Eployee, które są zaraz przed wypełnieniem tworzone za pomocą operatora new (to by był twój punkt 4);
  2. Zwiększenie każdemu pracownikowi pensji o 5% dzięki wywołaniu metody raiseSalary i wykorzystaniu w tym celu pętli for_each (wszyscy pracownicy się cieszą i doceniają zalety pętli for_each);
  3. Wypisanie danych każdego pracownika na ekran;
  4. Głupie pytanie: a co chcesz zwracać w tej metodzie? Metoda ta ma na celu aktualizację wysokości pensji każdego pracownika i to czyni dzięki temu że metodę tą wywołujesz na rzecz każdego obiektu klasy pracownik.
    Uwaga! Mogłem nie korzystać z fachowej terminologii!

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