Veröffentlicht 23. Juli 200817 j 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
23. Juli 200817 j 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
25. Juli 200817 j Autor 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 200817 j von Buckshot
25. Juli 200817 j Autor !!! 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 200817 j von Buckshot
25. Juli 200817 j Schau bitte mal nach, wie die beiden Parameter betrachtet werden. Wenn ich nicht irre ist das hier "(1 + zinssatz / 100)" kein double Phil
25. Juli 200817 j Autor Hi, ich denk aber schon, da zinssatz als double-deklarierter Parameter der Methode übergeben wird. Is auch egal, es geht ja jetzt .
25. Juli 200817 j Nur zur Information: Der letzte Aufruf von pow ist überflüssig. Math.pow( irgendwas, 1 ) ist dassselbe wie irgendwas
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.