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 Zitieren
flashpixx Geschrieben 23. Juli 2008 Geschrieben 23. Juli 2008 "import" wird für Packages verwendet Phil Zitieren
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 Zitieren
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 Zitieren
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 Zitieren
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 Zitieren
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 . Zitieren
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 Zitieren
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.