Buckshot Geschrieben 23. Juli 2008 Geschrieben 23. Juli 2008 Hi, ich bin noch recht neu im Umgang mit Java und arbeite mit einem Buch "jetzt lerne ich JAVA" von Markt+Technik. Dort ist ein Beispiel aufgeführt, welches ich identisch übernommen habe, doch es kommt eine Fehlermeldung vom Compiler. Hier der Beispielcode: // CMitarbeiterVerwaltung.java import CMitarbeiter; public class CMitarbeiterVerwaltung { public static void main(String[] args) { CMitarbeiter[] personalliste = new CMitarbeiter[4]; int mitarbeiterzahl; personalliste[0] = new Mitarbeiter("Marx","Groucho",8000); personalliste[1] = new Mitarbeiter("Marx","Chico",7000); personalliste[2] = new Mitarbeiter("Marx","Harpo",7000); personalliste[3] = new Mitarbeiter("Marx","Zeppo",8000); mitarbeiterzahl = 4; // alle Mitarbeiter ausgegeben for(int i = 0; i < personalliste.length; i++) { personalliste[i].datenAusgeben(); } } } Und hier die Fehlermeldung: CMitarbeiterVerwaltung.java:3: '.' expected import CMitarbeiter; ^ CMitarbeiterVerwaltung.java:3: ';' expected import CMitarbeiter; ^ 2 errors Die Datei, welche ich importiere liegt im selben Verzeichnis wie diese Datei. So ist es auch im Buch beschrieben. Was ist daran falsch, sodass ich eine Fehlermeldung bekomme? Gruß Buckshot
flashpixx Geschrieben 23. Juli 2008 Geschrieben 23. Juli 2008 "import" wird für Packages verwendet Phil
kabanvau Geschrieben 23. Juli 2008 Geschrieben 23. Juli 2008 Wenn die Klasse CMitarbeiter schon in demselben Verzeichnis ist, dann brauchst Du gar nix zu importieren. Lösche import CMitarbeiter; Hi, ich bin noch recht neu im Umgang mit Java und arbeite mit einem Buch "jetzt lerne ich JAVA" von Markt+Technik. Dort ist ein Beispiel aufgeführt, welches ich identisch übernommen habe, doch es kommt eine Fehlermeldung vom Compiler. Hier der Beispielcode: // CMitarbeiterVerwaltung.java import CMitarbeiter; public class CMitarbeiterVerwaltung { public static void main(String[] args) { CMitarbeiter[] personalliste = new CMitarbeiter[4]; int mitarbeiterzahl; personalliste[0] = new Mitarbeiter("Marx","Groucho",8000); personalliste[1] = new Mitarbeiter("Marx","Chico",7000); personalliste[2] = new Mitarbeiter("Marx","Harpo",7000); personalliste[3] = new Mitarbeiter("Marx","Zeppo",8000); mitarbeiterzahl = 4; // alle Mitarbeiter ausgegeben for(int i = 0; i < personalliste.length; i++) { personalliste[i].datenAusgeben(); } } } Und hier die Fehlermeldung: CMitarbeiterVerwaltung.java:3: '.' expected import CMitarbeiter; ^ CMitarbeiterVerwaltung.java:3: ';' expected import CMitarbeiter; ^ 2 errors Die Datei, welche ich importiere liegt im selben Verzeichnis wie diese Datei. So ist es auch im Buch beschrieben. Was ist daran falsch, sodass ich eine Fehlermeldung bekomme? Gruß Buckshot
Buckshot Geschrieben 25. Juli 2008 Autor Geschrieben 25. Juli 2008 (bearbeitet) Danke erstmal für die Antworten. Der Fehler war wirklich behoben, als ich import aus dem Code entfernte. Ein weiterer (Tipp-) Fehler verursachte zwar danach noch eine Meldung vom Compiler, aber das hab ich dann gleich selber gefunden. Ich hatte beim Abtippen, bei der Zuweisung der Referenzen das C vor dem Bezeichner vergessen :old ... Gruß Buckshot Bearbeitet 25. Juli 2008 von Buckshot
Buckshot Geschrieben 25. Juli 2008 Autor Geschrieben 25. Juli 2008 (bearbeitet) !!! Das Problem habe ich gerade selber gelöst !!! Die Syntax von "Math.pow" war falsch (jetzt richtig, siehe Fettschrift). Hi, leider habe ich jetzt ein anderes Problem. Und zwar bei folgendem Code tritt dieser Fehler auf: pow(double,double) in java.lang.Math cannot be applied to (double) Hier der gesamte Code: import java.lang.Math; public class CZinsen_mit_Schleife { public static void main(String[] args) { double endkapital; double endkapital_ohne; int laufzeit = 5; double zinsen = 3.5; double startkapital = 15000; int i; for (i = 1; i <= laufzeit; i++) { endkapital = zins_berechnen(startkapital,zinsen, i); endkapital_ohne = ohne_zins_berechnen(startkapital,zinsen, i); System.out.println("Der Endbetrag mit Zinsen nach " + i + " Jahren: " + (int) endkapital); System.out.println("Der Endbetrag ohne Zinsen nach " + i + " Jahren: " + (int) endkapital_ohne); } } // Ertrag mit Zinsen public static double zins_berechnen(double startkapital, double zinssatz, int laufzeit) { double endkapital; // Berechnung des Endkapitals endkapital = startkapital * Math.pow((1 + zinssatz / 100), (double) laufzeit); return endkapital; } // Ertrag ohne Zinsen public static double ohne_zins_berechnen(double startkapital, double zinssatz, int laufzeit) { double endkapital; // Berechnung des Endkapitals endkapital = startkapital * Math.pow(1 + zinssatz / 100 * (double) laufzeit[B], 1[/B]); return endkapital; } } Ich habe schon ein bisschen gegoogelt, aber leider nix gefunden. Für mich ist der Code auch soweit einleuchtend. Was habe ich falsch gemacht? :confused: Bearbeitet 25. Juli 2008 von Buckshot
flashpixx Geschrieben 25. Juli 2008 Geschrieben 25. Juli 2008 Schau bitte mal nach, wie die beiden Parameter betrachtet werden. Wenn ich nicht irre ist das hier "(1 + zinssatz / 100)" kein double Phil
Buckshot Geschrieben 25. Juli 2008 Autor Geschrieben 25. Juli 2008 Hi, ich denk aber schon, da zinssatz als double-deklarierter Parameter der Methode übergeben wird. Is auch egal, es geht ja jetzt .
Klotzkopp Geschrieben 25. Juli 2008 Geschrieben 25. Juli 2008 Nur zur Information: Der letzte Aufruf von pow ist überflüssig. Math.pow( irgendwas, 1 ) ist dassselbe wie irgendwas
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden