PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler beim Neukompilieren (?)



Opa Nolle
27-07-2003, 11:10
Hallo,

ich habe hier ein Problem mit einer ursprünglich mit dem sdk 1.2.x erstellten Applikation.Das Programm funktionierte tadellos bis ich Version 1.3.1, jetzt 1.4.1 installierte. Seitdem geht es nicht mehr und beim Neuerstellen bekomme ich die folgende, für mich kuriose, Fehlermeldung (sowohl unter Linux wie unter Windows xp):

.../java NeuBetragsUmrechnung.java: 5: '.' expected
import EuroWechselkurse;
^
------------------------------


import java.text.*;
import java.util.*;
import EuroWechselkurse;

public class BetragsUmrechnung
{
EuroWechselkurse ew = new EuroWechselkurse();
. . .


public class EuroWechselkurse
{
//Östr. Schilling
public double WATS()
{
return(13.7603);
}
. . .
-----------------------------------------------------------
Weiß vielleicht jemand wo hier der Fehler liegen könnte? Danke.

Opa Nolle

SeeksTheMoon
27-07-2003, 12:13
wenn EuroWechselkurse ein Paket sein sollte, dann schreibst Du
import EuroWechselkurse.*;

Aber weil es eine Klasse ist, wie ich aus EuroWechselkurse ew = new EuroWechselkurse(); schließe, machst Du gar kein Import. Java findet die Klasse, wenn sie im Classpath ist

Opa Nolle
27-07-2003, 19:53
Original geschrieben von SeeksTheMoon
wenn EuroWechselkurse ein Paket sein sollte, dann schreibst Du
import EuroWechselkurse.*;

Das habe ich alles schon durchprobiert, und klappt nicht.
Ich habe mal schnell ein Beispiel erstellt das praktisch genauso aufgebaut ist wie das mit den Wechselkursen, und das funktioniert (natürlich!) problemlos. Beispiel (Java 1.4.1):



//Ruft 'FiboMethode' auf

import FiboMethode;

public class RuftMethode
{
public static void main(String[] arg)
{
FiboMethode fm = new FiboMethode();

//Wird nur fuer die Wiedergabe benoetigt
int n = Integer.parseInt(arg[0]);
//Parameteruebergabe an die Methode und Uebernahme des Rueckgabewertes
long fib = fm.fibo(Integer.parseInt(arg[0]));

//Ausgabe der Fibonaccizahl
System.out.println("\nFibonacci(" + n + ") = " + fib + "\n\n");
}
}
--------------------------------------------------------------

//Kommunikation zweier Klassen
//Wird von der Hauptklasse 'RuftMethode' aufgerufen

public class FiboMethode
{
public long fibo(int n)
{
int i = 1;
long x = 1, y = 1;
if (n == 0 || n == 1)
{
return(1);
}
else
{
while (i < n)
{
x = x + y; y = x - y; i++;
}
return(x);
}
}
}

++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++

Und genauso hat das Wechselkursprogramm unter Java 1.2.x problemlos geklappt. Java 1.4.1 reklamiert da einen Fehler, der nicht vorhanden ist. Sonst wäre es ja früher nicht gelaufen.



Aber weil es eine Klasse ist, wie ich aus EuroWechselkurse ew = new EuroWechselkurse(); schließe, machst Du gar kein Import. Java findet die Klasse, wenn sie im Classpath ist

Wenn ich gar keinen "import" vorsehe, funktioniert es, aber warum gibt es dann bei dem Beispiel oben nicht das selbe Problem? Da wird doch 'importiert':

Opa Nolle