Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

java problem

cookiemen - 36
Fortgeschrittener (offline)

Dabei seit 11.2008
71 Beiträge
Geschrieben am: 22.04.2010 um 18:43 Uhr

Hey ; )
ich hab erst angefangen mit java programmieren^^
und im mom hab ich bei so ner übung n problem..
ich hoff ihr könnt mir helfen ; )

ich hab 2 quelltexte...:

package fahrzeug;

abstract class StrassenFzg {
protected String bez;
protected short geschw;
protected boolean verliehen;

abstract boolean eingeben();

abstract boolean anzeigen();

public boolean verleihen() {
if (verliehen)
return false;
else {
verliehen = true;
return true;
}
}
}

diese ist unter "fahrzeug" abgespeichert.
die zweite hier unter "Auto"....:

package fahrzeug;

import java.util.Scanner;

public class Auto extends StrassenFzg {

public short plaetze;

public boolean eingeben() {

Scanner eingabe = new Scanner (System.in);

try {
System.out.print("Bezeichnung: ");
bez = eingabe.nextLine();
System.out.print("Sitzplaetze: ");
plaetze = eingabe.nextShort();
System.out.print("Geschwindigkeit");
geschw = eingabe.nextShort();
return true;
} catch (Exception e) {
System.out.println(e);
return false;
}
}

public boolean anzeigen() {
System.out.println("\nDas Auto ist ein " + bez);
System.out.println("Es hat " + plaetze + " Sitze");
System.out.println("Der Top-Speed: " + geschw);
if (verliehen) {
System.out.println("Es ist verliehen.");
} else {
System.out.println("Es ist nicht " + "verliehen.");
}
return true;
}
}

so des problem liegt jetzt darin...der erste code wird ohne fehler kompiliert.
wenn ich den zweiten kompilieren will krieg ich folgende fehlermeldung:

Auto.java:5: cannot find symbol
symbol: class StrassenFzg
public class Auto extends StrassenFzg {
^
Auto.java:14: cannot find symbol
symbol : variable bez
location: class fahrzeug.Auto
bez = eingabe.nextLine();
^
Auto.java:18: cannot find symbol
symbol : variable geschw
location: class fahrzeug.Auto
geschw = eingabe.nextShort();
^
Auto.java:27: cannot find symbol
symbol : variable bez
location: class fahrzeug.Auto
System.out.println("\nDas Auto ist ein " + bez);
^
Auto.java:29: cannot find symbol
symbol : variable geschw
location: class fahrzeug.Auto
System.out.println("Der Top-Speed: " + geschw);
^
Auto.java:30: cannot find symbol
symbol : variable verliehen
location: class fahrzeug.Auto
if (verliehen) {
^
6 errors


hat jemand n plan woran des liegt? ; )
danke schonmal ; )
mfg

scw - 42
Experte (offline)

Dabei seit 09.2002
1836 Beiträge
Geschrieben am: 22.04.2010 um 18:57 Uhr
Zuletzt editiert am: 22.04.2010 um 18:58 Uhr

Die Zeiten, als ich händisch auf der Console sowas kompiliert habe liegen schon länger zurück... müsste ich jetzt selber erst wieder ausprobieren.
Würde dir aber empfehlen, eine IDE für Java zu verwenden. Damit hast du die Probleme nicht. Eclipse wäre zu empfehlen und ist sogar kostenlos :-)
scw - 42
Experte (offline)

Dabei seit 09.2002
1836 Beiträge
Geschrieben am: 22.04.2010 um 19:01 Uhr

Wie kompilierst du?
Versuch mal beim kompilieren beide Sourcefiles anzugeben.
Vermutlich bekommst du deshalb eine Fehlermeldung weil er die zuvor erzeugte .class Datei nicht findet. Gibt sicherlich auch eine Option, mit der du angeben kannst, wo er die erzeugten .class Files ablegen soll und wo er danach suchen soll wenn du eine als Abhängigkeit benötigst.
cookiemen - 36
Fortgeschrittener (offline)

Dabei seit 11.2008
71 Beiträge
Geschrieben am: 22.04.2010 um 19:11 Uhr

also ich hab des jetzt mal so kompiliert
\javac fahrzeug.java Auto.java

und da hat der mir auch ne Auto.class ausgegeben ; )

onkelrico - 46
Halbprofi (offline)

Dabei seit 10.2007
239 Beiträge

Geschrieben am: 22.04.2010 um 19:40 Uhr

Zitat von cookiemen:

also ich hab des jetzt mal so kompiliert
\javac fahrzeug.java Auto.java

und da hat der mir auch ne Auto.class ausgegeben ; )


Der Dateinamen muss (case sensitive) dem Klassennamen entsprechen. Also nicht "fahrzeug.java", sondern "StrassenFzg.java"

Dick Laurent is dead.

cookiemen - 36
Fortgeschrittener (offline)

Dabei seit 11.2008
71 Beiträge
Geschrieben am: 22.04.2010 um 19:56 Uhr

ja schon...nur des ändert nichts...xD
es hat mir ja ne Auto.class gegeben...und jetzt hab ich davon auch ne AutoTest.class
erzeugt...mit dem quelltext hier...
nur des ganze auszuführen funktioniert nich?



import fahrzeug.Auto;

public class AutoTest {

public static void main(String[] argumente) {
Auto einAuto;
einAuto = new Auto();

if (einAuto.eingeben() )
einAuto.anzeigen();
else
System.out.println("Fehlerhafte Eingabe!");
}
}
onkelrico - 46
Halbprofi (offline)

Dabei seit 10.2007
239 Beiträge

Geschrieben am: 22.04.2010 um 20:06 Uhr

Bleiben wir bei Deinem Eingangsbeispiel:

Hast Du sichergestellt, dass beide java Sourcefiles in einem Ordner namens "fahrzeuge" liegen? So schaut die Package-Konvention in Java aus.

Dick Laurent is dead.

cookiemen - 36
Fortgeschrittener (offline)

Dabei seit 11.2008
71 Beiträge
Geschrieben am: 22.04.2010 um 20:24 Uhr

ja beide dateien liegen im selben ordner ; )
onkelrico - 46
Halbprofi (offline)

Dabei seit 10.2007
239 Beiträge

Geschrieben am: 22.04.2010 um 21:29 Uhr

Zitat von cookiemen:

ja beide dateien liegen im selben ordner ; )


Irgendwie glaub ich das erst, wenn ich das sehe. ;)

Kannst Du folgende Konsolenausgaben mal hier vollständig posten?

"dir" im package-Verzeichnis
und
"javac -version"

Dick Laurent is dead.

cookiemen - 36
Fortgeschrittener (offline)

Dabei seit 11.2008
71 Beiträge
Geschrieben am: 22.04.2010 um 21:56 Uhr

Verzeichnis von C:\fahrzeug

22.04.2010 20:26 <DIR> .
22.04.2010 20:26 <DIR> ..
22.04.2010 20:23 1.522 Auto.class
22.04.2010 20:22 887 Auto.java
22.04.2010 20:23 442 StrassenFzg.class
22.04.2010 20:22 326 StrassenFzg.java
4 Datei(en) 3.177 Bytes
2 Verzeichnis(se), 51.759.575.040 Bytes frei

C:\fahrzeug>javac -version
javac 1.6.0_19

C:\fahrzeug>

glaubst du des jetzt? xD
onkelrico - 46
Halbprofi (offline)

Dabei seit 10.2007
239 Beiträge

Geschrieben am: 22.04.2010 um 22:06 Uhr

Da hast Du doch alle beiden Classes?

Dick Laurent is dead.

cookiemen - 36
Fortgeschrittener (offline)

Dabei seit 11.2008
71 Beiträge
Geschrieben am: 22.04.2010 um 22:08 Uhr

ja die klasse schon nur ausführen kann ich die auto.class nicht..
und wenn ich jetzt des objekt erzeug funktioniert des eben nicht...^^
onkelrico - 46
Halbprofi (offline)

Dabei seit 10.2007
239 Beiträge

Geschrieben am: 22.04.2010 um 22:33 Uhr
Zuletzt editiert am: 22.04.2010 um 22:36 Uhr

Zitat von cookiemen:

ja die klasse schon nur ausführen kann ich die auto.class nicht..
und wenn ich jetzt des objekt erzeug funktioniert des eben nicht...^^


...weil Du dort eine main()-Methode brauchst.

Edit:

Jetzt hab ich den Zusammenhang erstmal mit Deiner AutoTest geschnallt. Bei mir dauerts heute auch wat länger. ;)
Wie schaut denn die Verzeichnisstruktur jetzt mit der Klasse aus?

Dick Laurent is dead.

cookiemen - 36
Fortgeschrittener (offline)

Dabei seit 11.2008
71 Beiträge
Geschrieben am: 22.04.2010 um 22:53 Uhr

wo brauch ich ne main methode?

ehm... die autotest ist ne ebene drüber..
also..
C:\fahrzeug\auto\autotest
und die anderen zwei eben in auto^^
onkelrico - 46
Halbprofi (offline)

Dabei seit 10.2007
239 Beiträge

Geschrieben am: 23.04.2010 um 06:51 Uhr

Zitat von cookiemen:

wo brauch ich ne main methode?

ehm... die autotest ist ne ebene drüber..
also..
C:\fahrzeug\auto\autotest
und die anderen zwei eben in auto^^


Die Main Methode wird beim Aufruf von "java ..." aufgerufen, die hast Du ja in der AutoTest.

Wenn die jetzt so abgelegt sind:
\AutoTest.java
\fahrzeug\StrassenFzg.java
\fahrzeug\Auto.java

...sollte das eigentlich tun. Du brauchst mit javac nur die AutoTest.java kompilieren. Da jene das fahrzeug-Package importiert, werden die beiden Klassen gleich mitkompiliert.

Wenn es das nicht tut, dann wäre mal eine Fehlermeldung nicht schlecht.

Dick Laurent is dead.

cookiemen - 36
Fortgeschrittener (offline)

Dabei seit 11.2008
71 Beiträge
Geschrieben am: 25.04.2010 um 16:08 Uhr

dankeschön hat funktioniert ; )

  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -