palaber
Captain
- Registriert
- Juni 2006
- Beiträge
- 3.856
Hallo zusammen,
ich hab mal mit Programmieren angefangen. Hat mich bisher nie interessiert, aber jetzt wird es doch langsam mal Zeit dafür, als Informatikstudent
Mein Problem ist, das ich aus einer Klasse eine statische Variable inkrementieren will.
Eigentlich geht es auch, aber nicht so wie ich es will
Worum es geht: Ich lege Objekte an, welche eine ID haben, die automatisch hochgezählt werden soll.
Lege ich in der Main ein Objekt an, zählt die ID auf 1 --> alles ok.
Lege ich in der Main allerdings zwei Objekte an, ist die ID für Objekt 1 und 2 dieselbe und zwar beides mal "2".
Lege ich 3 Objekte an, wird die ID für alle Objekte als "3" ausgegeben.
Leider hab ich keinen Plan woran das liegt und googlen hat mir auch nicht geholfen.
Jetzt hoffe ich auf euch. Schon mal danke!
Anbei noch der Quellcode:
-----------------------------------------------------------------------------------------------------------------
MAIN
-----------------------------------------------------------------------------------------------------------------
ich hab mal mit Programmieren angefangen. Hat mich bisher nie interessiert, aber jetzt wird es doch langsam mal Zeit dafür, als Informatikstudent

Mein Problem ist, das ich aus einer Klasse eine statische Variable inkrementieren will.
Eigentlich geht es auch, aber nicht so wie ich es will

Worum es geht: Ich lege Objekte an, welche eine ID haben, die automatisch hochgezählt werden soll.
Lege ich in der Main ein Objekt an, zählt die ID auf 1 --> alles ok.
Lege ich in der Main allerdings zwei Objekte an, ist die ID für Objekt 1 und 2 dieselbe und zwar beides mal "2".
Lege ich 3 Objekte an, wird die ID für alle Objekte als "3" ausgegeben.
Leider hab ich keinen Plan woran das liegt und googlen hat mir auch nicht geholfen.
Jetzt hoffe ich auf euch. Schon mal danke!
Anbei noch der Quellcode:
Code:
package immatri;
public class Immatrikulation extends Student {
private static int id=0;
private String datum;
private boolean gezahlt;
//getter & setter
public String getDatum() {
return datum;
}
public void setDatum(String datum) {
this.datum = datum;
}
public boolean getGezahlt() {
return gezahlt;
}
public void setGezahlt(boolean gezahlt) {
this.gezahlt = gezahlt;
}
public static int getId() {
return id;
}
//konstruktor
public Immatrikulation(String name, String vorname, String datum, boolean gezahlt) {
super(name, vorname); //erbt von der Oberklasse Student
setDatum(datum);
setGezahlt(gezahlt);
Immatrikulation.id++; //erhöhen von id um 1
}
@Override
public String toString(){
return getMatnr()+" "+getName()+" "+ getVorname()+" "+getId() +" "+ getDatum() +" "+ getGezahlt()+"\n";
}
}
MAIN
-----------------------------------------------------------------------------------------------------------------
Code:
package immatri;
public class Test {
public static void main(String[] args) {
Immatrikulation s1=new Immatrikulation ("Tom", "Rip", "25.12.09", true);
Immatrikulation s2=new Immatrikulation ("Harry", "Müller", "01.01.2010", false);
System.out.println(s1);
System.out.println(s2);
}
}
Zuletzt bearbeitet: