Może ktoś spojrzeć, czy dobrze to rozumiem kolejność działania programu?
- Tworzenie i uruchamianie obiektów dzięki metodzie main.
- Inicjalizacja tablicy staff typu klasy Employee.
- Wywołanie metody raiseSalary o argumencie 5
- 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;
}
}