Skylark Geschrieben 20. Juni 2013 Teilen Geschrieben 20. Juni 2013 (bearbeitet) package MitarbeiterArray; public class MitarbeiterArrayTest { public static void main(String[] args) { Mitarbeiter [] m = new Mitarbeiter [5]; m[0] = new Arbeiter ("ggggg", 2345, "fdffdffdf", 12.0, 8); m[1]= new Angestellter ("dfdsfdssdf", 3456, "fdsfdsfsdfsdf", 2000.0); m[2]= new Verkaeufer ("sfdsfsdfsd", 2346, "dfsdfdsfdsfsdfsd", 13.0, 9, 20000, 2.0); m[3] = new Arbeiter ("fdsfsdfdsfsdfsdf", 7354, "fdsfsdfsdfsdfsd", 11.0, 9); m[4]= new Angestellter ("fdsfsdfdsfs", 2578, "fdssdfdsfdsfs", 5000.0); [COLOR="#FF0000"]public static double gesamtverdienst (Mitarbeiter[] m)[/COLOR] { double gVerdienst; return gVerdienst; } //Aufgabe 3 // for(int i=0; i<m.length; i++) //{ // // System.out.println(); // m[i].display(); // } //Aufgabe 4 // for(int i=0; i<m.length; i++) // { // if(m[i] instanceof Angestellter) // { // System.out.println(); // m[i].display(); // } // } //Aufgabe 5 //for(int i=0; i<m.length; i++) //{ // if(m[i] instanceof Arbeiter && !(m[i] instanceof Verkaeufer)) // { // System.out.println(); // m[i].display(); // } //} //Aufgabe 6 a) //for(int i=0; i<m.length; i++) // { // if(m[i] instanceof Verkaeufer) // { // System.out.println(m[i].getName()); // // } //} //Aufgabe 6 //for(int i=0; i<m.length; i++) // { // if(m[i] instanceof Angestellter) // { // Angestellter a = (Angestellter) m[i]; // System.out.println(a.getVerdienst()); // } // } //Aufgabe 6c) //for(int i=0; i<m.length; i++) //{ //if(m[i] instanceof Angestellter) //{ //Angestellter a = (Angestellter) m[i]; // //if(a.getMitarbeiternummer()>=2000 && a.getMitarbeiternummer()<=4000) // { //System.out.println(); //m[i].display(); //} //} //} }[/code] Anscheinend kann ich nicht mal mehr eine Methode richtig erstellen. Weshalb wird mir hier der Fehler "Illegal start of expression" angezeigt? Edit: Hat sich erledigt. Da sieht man, was 30 Minuten Schlaf in der letzten Nacht bewirken ;-) Bearbeitet 20. Juni 2013 von Skylark Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SilentDemise Geschrieben 20. Juni 2013 Teilen Geschrieben 20. Juni 2013 wenn du nächste mal eine sinnvolle Antwort möchtest ... BENENN DIE VARIABLEN VERNÜNFTIG Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
thoss Geschrieben 20. Juni 2013 Teilen Geschrieben 20. Juni 2013 Wenn ich das richtig sehe befindest du dich mit deiner Methoden Definition innerhalb der Main Funktion und das geht halt nicht. Füge: public static double gesamtverdienst (Mitarbeiter[] m) { double gVerdienst; return gVerdienst; } über die Main ein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Skylark Geschrieben 24. Juni 2013 Autor Teilen Geschrieben 24. Juni 2013 wenn du nächste mal eine sinnvolle Antwort möchtest ... BENENN DIE VARIABLEN VERNÜNFTIG Welche Variablen sind denn nicht vernünftig benannt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Skylark Geschrieben 24. Juni 2013 Autor Teilen Geschrieben 24. Juni 2013 wenn du nächste mal eine sinnvolle Antwort möchtest ... BENENN DIE VARIABLEN VERNÜNFTIG Welche Variablen sind denn nicht vernünftig benannt? Wenn ich das richtig sehe befindest du dich mit deiner Methoden Definition innerhalb der Main Funktion und das geht halt nicht. Füge: über die Main ein. Danke, hatte ich dann später auch bemerkt. Wenn man zu viel macht, klappen die einfachsten Dinge nicht mehr. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tom87 Geschrieben 4. Juli 2013 Teilen Geschrieben 4. Juli 2013 Zum Thema Variablen vernünftig benennen: Man sollte Variablen so benennen, dass man auf den ersten Blick sieht, worum es geht. (Negativ) Beispiel aus deinem Quellcode: Mitarbeiter [] m = new Mitarbeiter [5]; Bei der Initalisierung besteht hier noch kein Problem. Wenn man aber an einer anderen Stelle im Code die Variable verwendet wird, ist nicht mehr auf den ersten Blick ersichtlich, dass es sich hierbei um ein Array von Mitarbeitern handelt. z.B. // if(m instanceof Verkaeufer) // { // System.out.println(m.getName()); // // } Diese "Regel" sollte man in Ausnahmefällen wie in Zählervariablen in einer Schleife nicht anwenden. Hier ist int i=0; durchaus eine gute Namenswahl . Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lilith2k3 Geschrieben 5. Juli 2013 Teilen Geschrieben 5. Juli 2013 Einfache Regel für die Benennung: Je länger die Distanz in welcher die Variable Gültigkeit hat, desto länger/sprechender sollte der Variablenname Sein. Beispiel: public void Mitarbeiter retrieveMitarbeiterById(long id){ Mitarbeiter m=MitarbeiterRepository.getMitarbeiterById(id); if(m==null) throw new MitarbeiterNotFoundException(); return m; } [/php] Anhand dieses Schnipsels, welches einer fiktiven Serviceklasse entnommen ist, ist schnell klar: [i]m[/i] meint hier Mitarbeiter. Der Scope ist recht eingeschränkt und übersichtlich. Da macht das nichts, wenn eine Variable kurz benannt ist. Bei mehr Zeilen Code sollte man die Variable schon mit "mitarbeiter" benennen, damit man auch später noch weiß, was man sich bei dem Code gedacht hat. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lit-web Geschrieben 12. Juli 2013 Teilen Geschrieben 12. Juli 2013 Einfache Regel für die Benennung: Je länger die Distanz in welcher die Variable Gültigkeit hat, desto länger/sprechender sollte der Variablenname Sein. Beispiel: public void Mitarbeiter retrieveMitarbeiterById(long id){ Mitarbeiter m=MitarbeiterRepository.getMitarbeiterById(id); if(m==null) throw new MitarbeiterNotFoundException(); return m; } [/php] Anhand dieses Schnipsels, welches einer fiktiven Serviceklasse entnommen ist, ist schnell klar: [i]m[/i] meint hier Mitarbeiter. Der Scope ist recht eingeschränkt und übersichtlich. Da macht das nichts, wenn eine Variable kurz benannt ist. Bei mehr Zeilen Code sollte man die Variable schon mit "mitarbeiter" benennen, damit man auch später noch weiß, was man sich bei dem Code gedacht hat. Naja der deutsch / english Mix macht das ganze auch nicht besser. Fakt ist m ist keine akzeptable Variablenbezeichnung die ein Objekt vom Typ Mitarbeiter repräsentiert. Ein Name dafür z.B. wäre: Employee employee = new Employee(); Das wäre durchgängig sprechend für ein Objekt vom Typ Mitarbeiter. Ansonsten verstehe ich deine MEthode grad nicht: [PHP]public void Mitarbeiter retrieveMitarbeiterById(long id){ Wieso steht da void und als Datentyp Mitarbeiter drin? Das ist ein Fehler, eine void Methode gibt nichts zurück. Da hat sich wohl was fieses eingeschlichen. Variablen und Methodennamen sollten einfach sprechend sein, man muss immer davon ausgehen das man nicht allein an einem Projekt arbeitet, ja oft sogar nicht mal im gleichen Böro sitzt oder im gleichen Land lebt. Deshalb in der Softwareentwicklung konsequent englisch Namen und sprechend. Gruß Litter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lilith2k3 Geschrieben 12. Juli 2013 Teilen Geschrieben 12. Juli 2013 Äh ja. *lol* Also: public Employee retrieveEmployeeById(long id){ Employee e=EmployeeRepository.getEmployeeById(id); if(e==null) throw new EmployeeNotFoundException(); return e; } [/php] Dann ergibt alles Sinn, oder? Manchmal sitzt man auf dem Schlauch Warum das Void noch davor stand, weiß ich auch nicht mehr (@_@) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.