ciao!
Habe einige Fragen zu meinem (Programm)
Ich habe hier die Klasse CPerson
Dann habe ich eine Klasse PersonManager
Und eine Klasse PersonTest mit junit
Dann habe ich noch eine Klasse CTimeCalc
Jetzt möchte ich gerne in der Klasse PersonTest eine Person erstellen mit den gewünschten Parametern, und CTimeCalc soll dann eine Berechnung starten.
Wie kann ich das bewerkstelligen?
Also die Klasse CTimeCalc soll nur für die Berechnung da sein.
Ich weiss das ich die Klassen irgendwie verbinden muss, aber ich finde keine Hilfe wie ich das machen kann. Muss ich erben?
greet;s satinez
Habe einige Fragen zu meinem (Programm)
Ich habe hier die Klasse CPerson
Java:
package code;
public class CPerson {
// Das f vor einer Variable steht für Field
private String fName;
private double fIn;
private double fOut;
private double fMustTime;
public CPerson(String name, double i, double o, double m)
{
fName = name;
fIn = i;
fOut = o;
fMustTime = m;
}
// Arbeitsbeginn Wert holen
public double getInTime() {
// System.out.println("getInTime");
return fIn;
}
// Arbeitsende Wert holen
public double getOutTime() {
// System.out.println("getOutTime");
return fOut;
}
// Die Soll Stunden holen
public double getMustTime() {
// System.out.println("getMustTime");
return fMustTime;
}
// Den Namen holen
public String getName() {
// System.out.println("getName");
return fName;
}
// Hole und berechne die effektive Arbeitszeit
public double getWorked() {
// System.out.println("getWorked");
if (fOut < fIn) {
return 99;
} else {
return fOut - fIn - 1;
}
}
// Setter Methoden
// Name aendern
public void setName(String userName) {
fName = userName;
}
// Beginn der arbeitszeit ändern
public void setInTime(double intime) {
fIn = intime;
}
// Ende der Arbeitszeit ändern
public void setOutTime(double outtime) {
fOut = outtime;
}
// Soll Stunden ändern
public void setMustTime(double musttime) {
fMustTime = musttime;
}
}
Dann habe ich eine Klasse PersonManager
Java:
package code;
import java.util.ArrayList;
public class PersonManager {
public ArrayList<CPerson> fPersons = new ArrayList<CPerson>();
// Einzelne Personen hinzufuegen
public void addPerson(CPerson i) {
fPersons.add(i);
}
// Einzelne Personen loeschen
public void removePerson(CPerson p) {
fPersons.remove(p);
}
// Zaehlt wieviele Personen im Array sind
public int getPersonCount() {
return fPersons.size();
}
// Methode um der aktuellen Person einen Wert im Array abzufragen
public CPerson getPerson(int index) {
return fPersons.get(index);
}
public void addPerson(int i) {
// TODO Auto-generated method stub
}
}
Und eine Klasse PersonTest mit junit
Java:
package code;
import junit.framework.*;
public class PersonTest extends TestCase {
public void testAddPerson() {
System.out.print("Methode - testAddPerson: ");
PersonManager pm = new PersonManager();
// Eine Person hinzufuegen
pm.addPerson(new CPerson("Petra", 8.0, 17.0, 9.0));
// Ueberprueft wieviele Personen im Array sind
assertEquals(1, pm.getPersonCount());
// Ausgabe von Personen im Array
int personcount = pm.getPersonCount();
switch (personcount) {
case 0:
System.out.print("Nichts vorhanden!");
break;
case 1:
System.out.print(personcount + " Person im Array");
break;
default:
System.out.print(personcount + " Personen im Array");
}
}
public void testRemovePerson() {
PersonManager pm = new PersonManager();
CPerson p = new CPerson("Stefan", 8.0, 17.0, 9.0);
// Eine Person hinzufuegen
pm.addPerson(p);
// Person entfernen
pm.removePerson(p);
// Wenn der Remove geklappt hat
// konnte er die Person entfernen
// also wird eine 0 erwartet! Da das Array
assertEquals(0, pm.getPersonCount());
System.out.println("\n" + "Methode - testRemovePerson: "
+ pm.getPersonCount() + " Personen im Array");
}
}
Dann habe ich noch eine Klasse CTimeCalc
Java:
package code;
public class CTimeCalc {
public void CalcMustTime()
{
}
} // END OF CLASS CTIMECALC
Jetzt möchte ich gerne in der Klasse PersonTest eine Person erstellen mit den gewünschten Parametern, und CTimeCalc soll dann eine Berechnung starten.
Wie kann ich das bewerkstelligen?
Also die Klasse CTimeCalc soll nur für die Berechnung da sein.
Ich weiss das ich die Klassen irgendwie verbinden muss, aber ich finde keine Hilfe wie ich das machen kann. Muss ich erben?
greet;s satinez