Ich habe in der Schule ein Projekt angefangen, in dem wir eine Simulation eines Kontos erstellen sollten. Damit war ich schnell fertig, habe es also auf ein USB-Stick gepackt und Zuhause noch verbessert. Meine größte Änderung war, dass ich das Attribut
hinzugefügt habe. Danach habe ich meine Methoden immer mit einer if-Schleife ausgestattet und den Parameter "enterCode" hinzugefügt. Die if-Vorraussetzung ist, dass enterCode == code ist. Falls diese Voraussetzung zutrifft, wird das, was man von der Methode verlangt, ausgeführt, und falls nicht, dann führt es
aus. Hier ist ein Beispiel solch einer Methode:
Mein Problem ist nun, wenn ich Methoden ausführe, während ich zwei Konten erstelle mit unterschiedlichen "Codes", dann muss ich den Code des anderen Kontos angeben, anstatt des Codes, auf dem ich eigentlich die Methode ausführen will. Ich setze hier mal den ganzen Code rein, vielleicht könnt ihr mir ja helfen!
Danke im Voraus!
Java:
private static String code;
Java:
System.out.println("Wrong code!");
Code:
public void block(String enterCode) {
if(enterCode == code) {
blocked = true;
} else {
System.out.println("Wrong code!");
}
}
Mein Problem ist nun, wenn ich Methoden ausführe, während ich zwei Konten erstelle mit unterschiedlichen "Codes", dann muss ich den Code des anderen Kontos angeben, anstatt des Codes, auf dem ich eigentlich die Methode ausführen will. Ich setze hier mal den ganzen Code rein, vielleicht könnt ihr mir ja helfen!
Code:
public class Account {
// ATTRIBUTES & CONSTRUCTOR
private String name;
private String accNumber;
private static String code;
private double balance;
private boolean blocked = false;
public Account(String name, String accNumber, String code) {
this.name = name;
this.accNumber = accNumber;
this.code = code;
}
// GETTERS
public String getName() {
return name;
}
public String getAccNumber() {
return accNumber;
}
public double getBalance() {
return balance;
}
public boolean isBlocked() {
return blocked;
}
// SETTERS
public void block(String enterCode) {
if(enterCode == code) {
blocked = true;
} else {
System.out.println("Wrong code!");
}
}
public void release(String enterCode) {
if(enterCode == code) {
blocked = false;
} else {
System.out.println("Wrong code!");
}
}
// METHODS
public double add(double sum, String enterCode) {
if(enterCode == code) {
balance = balance + sum;
} else {
System.out.println("Wrong code!");
}
return balance;
}
public double sub(double sum, String enterCode) {
if(enterCode == code) {
balance = balance - sum;
} else {
System.out.println("Wrong code!");
}
return balance;
}
public void transfer(double sum, Account other, String enterCode) {
if(enterCode == code) {
sub(sum, code);
other.add(sum, other.code);
} else {
System.out.println("Wrong code!");
}
}
}