Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package angajat;
- abstract class Angajat {
- protected String nume;
- protected double salariu;
- public Angajat(String nume){
- this.nume = nume;
- this.salariu = salariu;
- }
- public abstract double calculSalar();
- }
- class AngajatCuSalariuFix extends Angajat{
- private double salariu;
- private String nume;
- public AngajatCuSalariuFix(String nume, double salariu){
- super(nume);
- this.salariu = salariu;
- }
- public double calculSalar(){
- return this.salariu;
- }
- public double schimbaSalariuFix(double new_salar){
- return this.salariu = new_salar;
- }
- public boolean equals(Object o){
- if (o instanceof Angajat){
- Angajat a = (Angajat)o;
- if (a.nume == this.nume)
- return true;}
- return false;
- }
- public String toString(){
- return this.nume + " " + this.salariu;
- }
- }
- class AngajatCuOra extends Angajat{
- private double salariuPeOra;
- private String nume;
- private double ore[] = new double [31];
- private int count_ore = 0;
- public AngajatCuOra(double salariuPeOra, String nume){
- super(nume);
- this.salariuPeOra = salariuPeOra;
- }
- public double calculSalar(){
- double suma = 0;
- for(int i = 0; i < count_ore; i++)
- suma +=ore[i];
- return this.salariuPeOra * suma;
- }
- public void adaugaOre(double oreLucrate){
- ore[count_ore++] = oreLucrate;
- }
- public double schimbaSalarPeOra(double salarNou){
- return this.salariuPeOra = salarNou;
- }
- }
- class Firma{
- private int nr_angajati;
- private Angajat angajati[] = new Angajat[1024];
- public int angajeaza(Angajat a){
- if (nr_angajati >= 1024)
- return -1;
- for (int i = 0; i < nr_angajati; i++){
- if (a.equals(angajati[i])) return -2;}
- angajati[nr_angajati++] = a;
- return 0;
- }
- public double salariuMediu(){
- double suma = 0;
- if(nr_angajati == 0) return 0;
- for(int i = 0; i < nr_angajati; i++)
- suma +=angajati[i].calculSalar();
- return suma/nr_angajati;
- }
- public String toString(){
- String s = "";
- for(int i = 0; i < nr_angajati; i++)
- s += angajati[i].toString();
- return s;
- }
- }
- class Main{
- public static void main(String[] args){
- AngajatCuOra a = new AngajatCuOra (123, "Andrei");
- a.schimbaSalarPeOra(130);
- a.calculSalar();
- a.adaugaOre(3);
- System.out.println(a.calculSalar());
- AngajatCuSalariuFix b = new AngajatCuSalariuFix("Maria", 100);
- b.schimbaSalariuFix(150);
- System.out.println(b.calculSalar());
- //System.out.println(b.toString());
- Firma f = new Firma();
- System.out.println(f.angajeaza(a));
- System.out.println(f.angajeaza(b));
- System.out.println(f.salariuMediu());
- //System.out.println(f.toString());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement