M
Manuli
Gast
Hallo kann mir jemand bei meinem Programm bitte helfen? Es funktionieren meine Methoden nicht, also die zwei Objekte verbinden sich nicht wie ich es gerne hätte:
Code:
[b]Personalbuero:[/b]
/**
* Beschreiben Sie hier die Klasse Personalbuero.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Personalbuero
{
private Mitarbeiter ma1;
private Mitarbeiter ma2;
private Mitarbeiter ma3;
//Konstr.
public Personalbuero ()
{
}
//getter
public Mitarbeiter getMa1()
{
return ma1;
}
public Mitarbeiter getMa2()
{
return ma2;
}
public Mitarbeiter getMa3()
{
return ma3;
}
//setter
public void setMa1(Mitarbeiter ma1)
{
if(ma1 != null)
this.ma1 = ma1;
else
System.out.println("Null-Referenz für ma1");
}
public void setMa2(Mitarbeiter ma2)
{
if(ma2 != null)
this.ma2 = ma2;
else
System.out.println("Null-Referenz für ma2");
}
public void setMa3(Mitarbeiter ma3)
{
if(ma3 != null)
this.ma3 = ma3;
else
System.out.println("Null-Referenz für ma3");
}
//aufnehmen nimmt übergebenen mitarbeiter auf aber nur wenn er
//jünger als 50 ist, u. gibt zurück ob die aufnahme funktioniert hat
public boolean aufnehmen (Mitarbeiter ma)
{
boolean mita= false;
if(ma !=null)
if(ma.berechneAlter () < 50)
{
if(ma1 !=null)
{
this.ma1=ma;
mita=true;
}
else
if(ma2 != null)
{
this.ma2=ma;
mita=true;
}
else
if(ma3 != null)
{
this.ma3=ma;
mita=true; }
else
System.out.println("Keinen Platz für neuen Mitarbeiter");
}
else
System.out.println("Kunde ist zu alt für unsere Firma");
else
System.out.println("Null-Referenz");
return mita;
}
//gehaltListe gibt info über alle Mitarbeiter auf die Konsole aus
public String gehaltListe ()
{
if(ma1 != null)
System.out.println(ma1.toString());
if(ma2 != null)
System.out.println(ma2.toString());
if(ma3 != null)
System.out.println(ma3.toString());
return null;
}
//berechneGehaltSumme berechnet alle Gehälter der Mitarbeiter da kommt aber immer nur ein gehalt raus
public float berechneGehaltSumme ()
{
float summe = 0;
if(ma1 != null)
summe = summe + ma1.berechneGehalt();
if(ma2 != null)
summe = summe + ma2.berechneGehalt();
if(ma3 != null)
summe = summe + ma3.berechneGehalt();
return summe;
}
//kuendigen entfernt diesen Mitarbeiter-Kündigungsschutz für 60+jährige
public boolean kuendigen (String name)
{
if(ma1 != null)
{
if(ma1.berechneAlter() < 60)
{
if(ma1.getName() == name)
else
if(ma2 != null)
{
if(ma2.berechneAlter() < 60)
{
if(ma2.getName() == name)
return true;
}
return true;
}
return true;
}
if(ma2 != null)
{
if(ma1.berechneAlter() < 60)
{
if(ma2.getName() == name)
return true;
}
return true;
}
return true;
}
if(ma3 != null)
{
if(ma3.berechneAlter() < 60)
{
if(ma3.getName() == name)
return true;
}
return true;
}
return true;
}
}
[b]Mitarbeiter[/b]:
/**
* Beschreiben Sie hier die Klasse Mitarbeiter.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Mitarbeiter
{
private String name;
private int gebJahr;
private int eintritt;
private String wohnort;
//Konst.
public Mitarbeiter (String name, int gebJahr, int eintritt, String wohnort)
{
setName(name);
setGebJahr(gebJahr);
setEintritt(eintritt);
setWohnort(wohnort);
}
//getter
public String getName()
{
return name;
}
public int getGebJahr()
{
return gebJahr;
}
public int getEintritt()
{
return eintritt;
}
public String getWohnort()
{
return wohnort;
}
//setter
public void setName(String name)
{
if(name != null)
this.name = name;
else
System.out.println("Null-Referenz für Name");
}
public void setGebJahr(int gebJahr)
{
if(gebJahr >= 1920 && gebJahr <= 2008)
this.gebJahr = gebJahr;
else
System.out.println("Falscher Parameter für Geburtsdatum");
}
public void setEintritt(int eintritt)
{
if(eintritt >= 1980 && eintritt <=2008)
this.eintritt = eintritt;
else
System.out.println("Falscher Parameter für Eintritt");
}
public void setWohnort(String wohnort)
{
if(wohnort != null)
this.wohnort = wohnort;
else
System.out.println("Null-Referenz für Wohnort");
}
//berechneAlter
public int berechneAlter()
{
return 2008 - this.gebJahr;
}
//berechneDienstalter
public int berechneDienstalter()
{
return 2008 - this.eintritt;
}
//berechneGehalt
public float berechneGehalt()
{
int gehalt = 1500;
if(berechneDienstalter() > 0)
gehalt = gehalt + (berechneDienstalter() * 50);
else
System.out.println("Mitarbeiter arbeitet noch nicht so lange bei uns");
return gehalt;
}
//toString
public String toString()
{
String str= ("Name: " +this.name+
"\nGeburtsjahr: "+this.gebJahr+
"\nGehalt: "+berechneGehalt()+ " Euro");
return str;
}
//print
public void print()
{
System.out.println(toString ());
}
}