• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Java+Classpath

JOKER

Damasonrenette
Registriert
04.12.04
Beiträge
494
Ich glaub die Lösung ist einfach aber ich komme nicht drauf o_O

Ich habe gerade mein Studium begonnen und habe ein Java-Kurs belegt !
Ich soll jetzt ein kleines Programm zur Mehrwertsteuerberechnung schreiben -- soweit so gut !
Ich muss ein paar Klassen importieren und zwar java.lang.Math und noch zwei Klassen die sich in einem Ordner auf meinem Desktop befinden!
Sieht jetzt ungefähr so aus:

Code:
import java.lang.Math;
import pfad.zu.Konsole;
import pfad.zu.Tools; 
....

Beim Compilieren bekomme ich den Fehler das die beiden Klassen nicht gefunden wurden (obwohl sich der Quellcode und die beiden Klassen im selben Ordner befinden)

Selbst bei

Code:
javac -classpath /Pfad/zum/Ordnermit/denKlassen Mehrwertsteuer.java

spuckt er die Fehlermeldung aus o_O

Ich komme einfach nicht weiter !!!


:innocent: The Joker´s first steps in Java :innocent:
 

Wikinator

Adams Parmäne
Registriert
21.08.04
Beiträge
1.297
benutzt du packages?
wenn sie im selben verzeichnis liegen, bindet sie os x automatisch ein, sprich du brauchst auch keine import anweisungen.
 
  • Like
Reaktionen: JOKER

JOKER

Damasonrenette
Registriert
04.12.04
Beiträge
494
Wikinator schrieb:
benutzt du packages?
wenn sie im selben verzeichnis liegen, bindet sie os x automatisch ein, sprich du brauchst auch keine import anweisungen.


Es sind zwei .class Dateien o_O
 

JOKER

Damasonrenette
Registriert
04.12.04
Beiträge
494
Danke slayercon - jetzt wird einiges klar !

Mein Fehler lag darin, dass ich den kompletten Pfad zu den .java files meines Packages-Ordners beim setzen des classpath angegeben habe und nicht nur den Pfad zum Package !!! :eek:
 

cucube2001

Jonagold
Registriert
20.08.07
Beiträge
20
hallo,

ich habe ien ähnliches problem. ich hab eine Klasse Console.class im Ordner Utils, die ich in mein Eliza Programm einbinden möchte.

ich setze in der Konsole den CLASSPATH mit export CLASSPATH="/Users/meinname/Documents/FHTW/Informatik\ 1/X1/Utils".
mit echo $CLASSPATH hab ich es kontrolliert.

java -classpath "pfad..." funktioniert nicht. dann zeigt mir die konsole immer die hilfeliste.

dann geb ich ein:

javac Eliza.java und die Fehlermedlung erscheint.

liza.java:9: cannot find symbol
symbol : variable Console
location: class Eliza
String in = Console.readln();
^
Eliza.java:11: cannot find symbol
symbol : variable Console
location: class Eliza
in = Console.readln();
^
Eliza.java:17: cannot find symbol
symbol : variable Console
location: class Eliza
in = Console.readln();
^
3 errors

das ist mein programm:

public class Eliza
{
public static void main(String[] args)

{
System.out.println("Hi, I am Eliza. Whats your name?");

String in = Console.readln();

System.out.println("Hello " + in + ". How are you?");

in = Console.readln();

System.out.println(in + "! Tell me more");







System.out.println("Fine, do you want to play a little game? (y/n)");

in = Console.readln();

if (in.equals ("y"))

;

else

System.out.println("What a pitty, Bye!");



}

}

vielleicht kann mir ja jemand weiterhelfen.
 

arami

Niederhelfenschwiler Beeriapfel
Registriert
18.01.07
Beiträge
843
Also:

woher sollte 'Console' kommen? Du könntest mit System.in den InputStream einlesen.
Es gibt in j2se keine Console Klasse.

lg
 

cucube2001

Jonagold
Registriert
20.08.07
Beiträge
20
naja Console.java macht ja genau das:

import java.io.IOException;



/**

* Helper Class for reading and wirting from the Console

* without dealing with IO-Exceptions

*

* @author ilse

*

*/

public class Console {



public static void println(String s) {

System.out.println(s);

}

public static String readln(){

byte[] result = new byte[60];

try {

System.in.read(result);

}

catch (IOException e){}

return new String(result).trim();

}



}

ich muss leider Console benutzen, wurde mir so diktiert.
 

arami

Niederhelfenschwiler Beeriapfel
Registriert
18.01.07
Beiträge
843
Ahhh. Ok.

Also wenn du beide java Klassen in einem Ordner hast, funktionierts. Ich hab mal beide schnell rauskopiert und ausprobiert.

Einfach Eliza.java und Console.java in den selben Ordner rein, und schon sollte es gehen. (tuts bei mir)

Probier mal schnell aus und gib bescheid.

lg
 

cucube2001

Jonagold
Registriert
20.08.07
Beiträge
20
jetzt bin ich gerade auf eine seite gestossen, auf der die default classpathes stehen.

For Tiger (OS X 10.4), we have:
$HOME/Library/Java
$NEXT_ROOT/Library/Java
$NEXT_ROOT/System/Library/Java
$NEXT_ROOT/Network/Library/Java
$NEXT_ROOT/System/Library/Frameworks/JavaVM.framework/Classes/classes.jar
$NEXT_ROOT/System/Library/Frameworks/JavaVM.framework/Classes/ui.jar

allerdings hab ich bei echo $HOME nur /Users/meinname stehen und echo $NEXT_ROOT ist vollkommen leer. Wie kann ich die denn festeintragen?
 

cucube2001

Jonagold
Registriert
20.08.07
Beiträge
20
ja, mit beiden Dateien in einem Ordner funktionierts. Aber das ist ja nicht der Sinn der Sache. ich geb ja mit classpath extra den pfad an.
 

arami

Niederhelfenschwiler Beeriapfel
Registriert
18.01.07
Beiträge
843
OH. Sorry, den Teil hab ich vorher leider überlesen.

Ich hab das jetzt mal so gemacht:

Am Desktop hab ich 2 Ordner angelegt: console und eliza.
Das jeweilige Java file in den richtigen Ordner rein.

Dann kommt Schritt 2, das kompilieren:

javac -classpath /Users/ar/Desktop/console/ Eliza.java

dann brauchen wir das Ding nur noch ausführen (Achtung, man benötigt beide Pfade im Classpath):

java -classpath /Users/ar/Desktop/console/:/Users/ar/Desktop/eliza/ Eliza

(funktioniert natürlich auch mit "export CLASSPATH=/Users/ar/Desktop/console/:/Users/ar/Desktop/eliza/")

hilft dir das weiter?

lg
 

arami

Niederhelfenschwiler Beeriapfel
Registriert
18.01.07
Beiträge
843
Gern geschehen.

Sorry nochmal das ich am Anfang nicht genau genug gelesen hab.

lg