Vil ikke ændre string
Hejsa!Sidder med en metode som jeg ikke helt forstår hvorfor den modarbejder mig.
public String toString(){
String status = "", status0 = "";
status += "***********************\n";
status += "Opgavestatus for:\n";
status += "Navn: " + studName + "\n";
status += "CPR: " + CPR + "\n\n";
for(int i = 0;i<assignments.size();i++){
status += "Opgave: " + assignments.get(i).getCourse() + "-" + assignments.get(i).getName() +"\n";
System.out.println("Opgavestatus forkort " + assignments.get(i).getStatus()); // Blot til test. Printer status for opgave ud
// Fanger status x/i/g og saetter status0 til det respektive
if (assignments.get(i).getStatus() == "x"){
status0 = "Opgave ikke afleveret.";
}
else if (assignments.get(i).getStatus() == "i"){
status0 = "Opgave ikke godkendt.";
}
else if (assignments.get(i).getStatus() == "g"){
status0 = "Opgave godkendt.";
}
status += "Status: " + status0 + "\n\n"; // Hvorfor er det kun den gamle status der bliver udprintet???
}
status += "***********************";
return status;
}
Køres denne metode 1. gang udskrives det korrekte. F.eks den fanger et "i", og status0 ændres til "Opgave ikke godkendt."
Herefter ændres status til f.eks "x" gennem en anden metode. Denne metode køres, System.out.println("Opgavestatus forkort " + assignments.get(i).getStatus()); skriver også det korrekte ud (i dette tilfælde "x"), men status0 forbliver "Opgave ikke godkendt.".
Eks. på udprint:
- Før ændring:
Opgavestatus forkort g
Opgave: Sam-U4
Status: Opgave godkendt.
- Efter ændring af status til x
Opgavestatus forkort x <--------- dette er korrekt ændret, og nu bør if sætningen fange den, men dette sker bare ikke, og det efterfølgende resultat bliver derfor:
Opgave: Sam-U4
Status: Opgave godkendt.
Hvor der burde stå:
Opgave: Sam-U4
Status: Opgave ikke afleveret.
Nogen der kan greje dette? hvad har jeg glemt?
