Ich lerne gerade etwas Java, komme aber dummerweise nicht weiter.
Folgendes "Programm" habe ich geschrieben. Ist zwar nur ein sehr kleines Programm, bin ja aber noch am lernen :
Code:
class Mitarbeiter {
private String Name;
private int Dienstnummer;
private float Gehalt;
private String Abteilung;
private String Position;
public Mitarbeiter(String Name, int Dienstnummer, float Gehalt, String Abteilung) { // neuer Mitarbeiter wird angelegt
this.Name = Name;
this.Dienstnummer = Dienstnummer;
this.Gehalt = Gehalt;
this.Abteilung = Abteilung;
}
public void set_Gehalt_festBetrag(float Betrag) { // Erhöhung um festen Betrag
Gehalt += Betrag;
}
public void set_Gehalt_Prozent (float Prozent) { // Erhöhung um Prozent
Gehalt *= Prozent;
}
public void set_Abteilung (String Abt) { // neue Abteilung
Abteilung = Abt;
}
}
public class personalv {
public static void main (String[] args) {
Mitarbeiter[] Liste = new Mitarbeiter[10];
Liste[0] = new Mitarbeiter("mein_Name", 12345, 2000, 21);
}
}
Der JBuilder meckert die Zeile ganz untem in der Main-Methode an, wo ich ein neues Mitarbeiter-Objekt anlegen möchte. Aber irgendwie verstehen ic das nicht, da die Werte, die ich übergebe, doch zu den Parametern im Kontstruktor der Mitarbeiter-Methode passen.... oder etwa doch nicht?
public Mitarbeiter(int Dienstnummer, float Gehalt, String Abteilung)
übergibst aber
Liste[0] = new Mitarbeiter("mein_Name", 12345, 2000, 21);
da fehlt schonmal einen name-string und hinten vieleicht noch bei der 21 die gänsefüsschen, weils ja als string gehandhabt werden soll (bin ich aber nicht ganz sicher mit den gänsefüsschen)
Ihr seid ja nur neidisch, weil ich der einzige bin, zu dem die leisen Stimmen sprechen! TweakPC IRC Channel: #tweakpc im Quakenet (irc.quakenet.org) Satzzeichen folgen direkt hinter einem Wort. Es ist kein Leerzeichen dazwischen!
ups, das "String Name" war eigentlich dabei. Ich hatte da nur gerade etwas rumgetestet, so dass es bei der hier veröffentlichten Version fehlte. In dem Code bei mir ist es => kann also leider nicht daran liegen.
Das mit dem Gänsefüsschen sagt mir so nix.
In einem anderen Programm (das ist noch viel komplexer mit Vererbung über zig Ebenen) funktioniert ein solcher Aufruf hier problemlos z.B.:
hast du das mal ohne new operator versucht? weil dann legt er ja nen neues objekt an, aber das akkay ist ja schon ein feld von objekten, also willst du ein objekt mit einem objekt referenzieren.
da fehlt schonmal einen name-string und hinten vieleicht noch bei der 21 die gänsefüsschen, weils ja als string gehandhabt werden soll (bin ich aber nicht ganz sicher mit den gänsefüsschen)
ohoh.... ich hätte wohl mal genauer hinschauen sollen, da tatsächlich die Gänsefüsschen gefehlt haben (klar, ist doch ein String). Ich Depp wollte den Wert eigentlich erst als int übergeben, habe den dann nachher aber doch als String implementiert, konnte daher nicht funktionieren.
Nochmal vielen Dank für die Hilfe... war da leider etwas blind auf den Augen.