![]() |
Frage zu Java Code Hallo, mein erstes Posting hier und gleich eine Frage :) 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); } }[/code] 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? Kann mir da mal bitte einer helfen? Vielen Dank. Kermit_1 |
du hast als parameter 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) |
Hallo, 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.: [code] Fahrzeug t2 = new PKW("Renault Megane Scenic", "PKW", 90, 1600, 4, 94000);[/code] |
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. |
Hi, du meinst so? [code] Mitarbeiter[] Liste = new Mitarbeiter[10]; Liste[0] = Mitarbeiter("mein_Name", 12345, 2000, 21); [/code] bringt nix. Alternativ habe ich es auch so: [code] Mitarbeiter Liste = new Mitarbeiter("mein_Name", 12345, 2000, 21); [/code] versucht, aber leider ebenfalls ohne Erfolg. :( |
was sagt denn der compiler, bzw wie heisst die fehlermeldung? hast du mal die verschmelzung vesucht, also mitarbeiter liste[0]= blabla |
Hallo, [quote=_Smash_]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)[/quote] 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. :oops: |
[code]class Mitarbeiter { private String Name; private int Dienstnummer; private float Gehalt; private String Abteilung; private String Position; public void addMitarbeiter(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]; Mitarbeiter temp = new Mitarbeiter(); temp.addMitarbeiter("mein_Name", 12345, 2000,"21"); Liste[0]=temp; } }[/code] so läuft das programm. ist etwas anders, weil ich dachte da wäre ein fehler der keiner war. naja egal. wenn deins jetzt läuft... ok |
| Alle Zeitangaben in WEZ +1. Es ist jetzt 08:47 Uhr. |
Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.