sein, dass der Code in der Methode ist, dass der ursprüngliche Wert ändert:Ändern der Wert der Variablen könnte knifflig-Java
public void setSalary(MarriedPerson spouse){
if(getSex() != spouse.getSex()) { setSalary(getSalary() + spouse.getSalary());
}
}
Also, was ich tue, um den Wert des variablen Gehalts eines Objekts zu ändern wenn das Objekt das andere Geschlecht hat als das andere (ich füge sie tatsächlich hinzu, wie du siehst, als wären sie ein Paar). Jedenfalls ist das erste Sachgehalt jetzt die Summe der 2 Gehälter und nach dem Methodenaufruf ändert sich das Gehalt permanatelly. Was ich tun möchte ist, es nicht für immer zu ändern, sondern nur für diesen Anruf, nur damit ich es ausdrucken kann. Hier ist der Code in der Hauptmethode:
MarriedPerson mp1 = new MarriedPerson("Tront", "Betty", 31, 980.5f,Person.FEMALE, 3);
MarriedPerson mp2 = new MarriedPerson("Tront", "Kirk", 31, 2080f,Person.MALE, 2);
MarriedPerson mp3 = new MarriedPerson("Tront", "Sonia", 31, 600f,Person.FEMALE, 0);
mp1.printinfo();
mp2.printinfo();
mp3.printinfo();
//sal = mp1.getSalary();
mp1.setSalary(mp2);
mp1.printinfo();
//mp1.setSalary(sal);
mp1.setSalary(mp3);
mp1.printinfo();
mp1.setSalary(mp2.getSalary());
mp1.printinfo();
Also, wenn ich die Befehle das Programm funktioniert gut, Kommentar-, aber was ich tun ist, einen anderen Wert erstellen, die sal und speichern das Gehalt von mp1 Objekt gibt. Und durch den Aufruf der setSalary
Methode funktioniert es. Ich möchte jedoch einen angemesseneren Weg, der jedes Mal funktioniert.
, die aus Rahmen dieser Frage ist, sondern Paare könnten gleichgeschlechtlichen sein. Ich denke, Sie sollten Ihre Definition von "Paar" – Dethariel
gut überdenken, wahr. Ich werde den Lehrer wissen lassen. – FloatsAreFun