Servus!
Mein Ziel ist es, dass die Variablen in der Klasse BScInformatik nur einmal gesetzt werden sollen mit der Methode,
danach aber nicht mehr. Wenn ich die Klassenvariablen aber zu private final verändere geht es nicht,
da ich der Compiler sagt, dass diese vorher initialisiert werden müssen, was ich nicht will da sie von der Methode
einmalig verändert werden sollen.
!Der Konstruktur muss so bleiben, ist in der Aufgabe vorgegeben!
Habt ihr eventuell Ideen?
Ich bedanke mich im Voraus und bleibt Gesund
Mein Ziel ist es, dass die Variablen in der Klasse BScInformatik nur einmal gesetzt werden sollen mit der Methode,
danach aber nicht mehr. Wenn ich die Klassenvariablen aber zu private final verändere geht es nicht,
da ich der Compiler sagt, dass diese vorher initialisiert werden müssen, was ich nicht will da sie von der Methode
einmalig verändert werden sollen.
!Der Konstruktur muss so bleiben, ist in der Aufgabe vorgegeben!
Habt ihr eventuell Ideen?
Ich bedanke mich im Voraus und bleibt Gesund
Java:
public class BScInformatik extends Studium {
private int noteProgrammierungI;
private int noteDiskreteStukturenLogik;
private int noteRechnerstrukturen;
public BScInformatik(String n, int m, int h) {
super(n, m);
}
public void resultatProgrammierungI(int noteProgrammierungI) {
if(noteProgrammierungI<=4 && noteProgrammierungI >= 1) {
this.noteProgrammierungI = noteProgrammierungI;
}
}
public void resultatDiskreteStukturenLogik(int noteDiskreteStukturenLogik) {
this.noteDiskreteStukturenLogik = noteDiskreteStukturenLogik;
}
public void resultatRechnerstrukturen(final int noteRechnerstrukturen) {
this.noteRechnerstrukturen = noteRechnerstrukturen;
}
@Override public boolean studiumAbgeschlossen(){
if(noteProgrammierungI!=0 && noteRechnerstrukturen!=0 && noteDiskreteStukturenLogik!=0) {
return true;
}
return false;}
@Override public int endnote(){
return (noteDiskreteStukturenLogik+noteRechnerstrukturen+noteProgrammierungI)/3;
}
@Override public String toString(){
return getName() + " ("+ getMatrnr() +", BscInformatik)";
}
}
Java:
public class Studium {
public static void main(String args[]) {
Studium A = new Studium("Karl Napf", 1234567);
System.out.println(A + " hat das Studium "
+ (A.studiumAbgeschlossen() ? ("mit Note " + A.endnote()) : "nicht")
+ " abgeschlossen");
BScInformatik B = new BScInformatik ("Donna Wetter", 1212121);
B.resultatProgrammierungI(5);
B.resultatProgrammierungI(1);
B.resultatProgrammierungI(4);
B.resultatDiskreteStukturenLogik(3);
B.resultatRechnerstrukturen(2);
System.out.println( B + " hat das Studium "
+ (B.studiumAbgeschlossen()?("mit Note "+B.endnote()):"nicht")
+ " abgeschlossen");
}
private String name = "";
private int matrnr = 0;
protected String getName() {
return name;
}
protected int getMatrnr() {
return matrnr;
}
public Studium(String n, int m) {
name = n;
matrnr = m;
}
@Override
public String toString() {
return name + " (" + matrnr + ", ohne Studiengang)";
}
public boolean studiumAbgeschlossen() {
return false;
}
public int endnote() {
return 0;
}
}