Zum Inhalt springen

Anfängerfehler?


Gast Letscho

Empfohlene Beiträge

Hallochen.

Habe mir gerade den Thread " Hat jemand ein Startprogramm für Anfänger? " durchgelesen und bin irgendwie nicht so sicher, hier nicht auch abgebügelt zu werden. Nagut. Auch ich möchte mich mit Java beschäftigen. In der Schule werden wir wohl mit MS J++ arbeiten, was mir nicht zusagt. Ich möchte lieber die nicht-verschlimmbesserte Originalversion kennenlernen. Habe deshalb aufgrund einer Empfehlung auf einer dieser Seiten hier das Machwerk "Java ist auch eine Insel" erstanden. Java kann man wohl nicht erlernen, sondern muss es begreifen, das hab ich festgestellt. So, nun zum Problem. Habe mir von Sun das neue JDK1.4.0 vakusaugt und installiert. Habe dann das erste Beispiel aus dem Buch abgeschrieben (MS-Notepad) und wollte es dann kompilieren. Hier kommt es allerdings zu einer Fehlermeldung wie etwa cannot read: Quadrat.java. Ich arbeite mit W2k. Auch auf dem Schulrechner klappt es nicht. Die Datei ist nicht schreibgeschützt. Hat der Versatz der Anweisungen in der Datei etwas zu besagen? Übrigens hab ich keine Ahnung von Programmiersprachen, was ja auch von Vorteil sein kann....

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gemäß benannten Handbuch habe ich im Notepad folgende Zeilen eingegeben:

/**

* @version 1.01 27.2.2002

* @author K Kretschmer

*/

public class Quadrat

{

static int quadrat( int n )

{

return n * n;

}

static void ausgabe( int n )

{

String s;

int i;

for ( i = 1; i <= n; i=i+1 )

{

s = "Quadrat("

+ i

+ ") = "

+ quadrat(i);

System.out.println( s );

}

}

public static void main( String args[] )

{

ausgabe( 4 );

}

}

Dann unter dem Namen Quadrat.java gespeichert, im Verzeichnis D:\j2sdk1.4.0

Dann zum kompilieren in der Dos- Eingabeaufforderung folgendes eingetragen mit folgender Rückmeldung

D:\>javac Quadrat.java

error: cannot read: Quadrat.java

1 error

D:\>

Der Pfad wurde vorher von mir permanent gesetzt.

Wo liegt hier ein potentieller Fehler?

Übrigens auch bei der Datei mit dem Inhalt

public class Hallo

{

public static void main( String args[] )

{

System.out.println( "Hallo Karsten" );

}

}

kommt die gleiche Meldung, nur unter Angabe des anderen Dateinamens.

Hm, erstmal ratlos.

Ist denn der Borland JBuilder zu empfehlen??

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Letscho

Dann unter dem Namen Quadrat.java gespeichert, im Verzeichnis D:\j2sdk1.4.0

Dann zum kompilieren in der Dos- Eingabeaufforderung folgendes eingetragen mit folgender Rückmeldung

D:\>javac Quadrat.java

error: cannot read: Quadrat.java

1 error

Hier liegt dein "potentieller Fehler". Du befindest dich nicht im gleichen Verzeichnis wie die Datei Quadrat.java . Das Programm javac.exe wird gefunden, weil "path" entsprechend gesetzt ist, nur die Datei Quadrat.java findet es deswegen noch nicht.

Grundsätzlich würde ich mal sagen, dass es besser ist, seine Java-Sourcen (also deine Quadrat.java) nicht ins gleiche Verzeichnis wie das JDK zu legen, sondern dafür ein eigenes Verzeichnis anzulegen. Dann gibst du im gleichen Verzeichnis wieder javac Quadrat.java ein, und es sollte eigentlich funktionieren.

Zum Thema JBuilder: Für den Anfang würde ich dir auf jeden Fall raten, so weiterzumachen wie bisher: Notepad (oder anderen Texteditor). Später kannst du dann eine IDE wie zum Beispiel den JBuilder benutzen. Ich persönlich stehe auf Visual Age von IBM, aber das ist zum einen Geschmacksache - und zum anderen eine Kostenfrage :)

Ich hoffe, ich konnte dir helfen...

Gruß

Mirko

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstmal vielen Dank für die Hinweise. Habe danach gehandelt, ohne Erfolg. Den Grund habe ich nunmehr gefunden. So simpel, das man sich schwarz ärgern kann. Notepad hat die Datei als Textdatei gespeichert, ohne die Endung .txt anzuzeigen. Somit hieß die Datei Quadrat.java.txt. Kein Wunder, das es nicht klappte. Erst im Dos-Editor habe ich dann die Endung .txt gekillt, und siehe da, es klappt. Jetzt bemeckert er nur einen falschen Key, er hat für SDK1.3 und ich habe 1.4. Aber das ist sicher ein kleineres Problem.

Noch ne Frage die mich interessiert, in den Abdrucken in den Büchern werden die Zeilen und Klammern versetzt geschrieben, hat das was zu bedeuten?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja, da muss man auch erstmal drauf kommen. Ich würde dir allerdings raten, in deinen Windows-Setting mal das verbergen von bekannten Dateiendungen auszuschalten! Das ist ja genau die "Sicherheitslücke", die diverse Viren ausnutzen, wo die Dateien dann "freeholiday.doc.vbs" heißen. Du würdest das VBS nicht sehen, machst nen Doppelklick drauf und schon hast du verloren.

Zu deiner Frage:

Ich vermute mal du meinst z.B. das hier:


public static void main( String args[] ) { 

     System.out.println( "Hallo Karsten" ); 

} 

Das hat nicht unbedingt was zu bedeuten. Deine Schreibweise funktioniert genauso, nur allgemein üblich ist die o.a.. Wenn du eine Entwicklungsumgebung benutzt, die automatische Code-Formatierung beherrscht, dann wir die das in der Regel genau so formatieren.

Wenn du den Fehler nicht findest, dann meld dich nochmal mit genauer Fehlermeldung.

Gruß

Mirko

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Mirko

Zum Thema JBuilder: Für den Anfang würde ich dir auf jeden Fall raten, so weiterzumachen wie bisher: Notepad (oder anderen Texteditor). Später kannst du dann eine IDE wie zum Beispiel den JBuilder benutzen. Ich persönlich stehe auf Visual Age von IBM, aber das ist zum einen Geschmacksache - und zum anderen eine Kostenfrage :)

Ich hoffe, ich konnte dir helfen...

Gruß

Mirko

Dem stimme ich auf jeden Fall zu. Noch ein Tipp:

Das TextPad (www.textpad.de ist ein guter Texteditor für windows, der auch Syntaxhervorhebung kann (C, JAVA, C++ etc.), so fällt es leichter Syntaxfehler zu finden.

So then, Cap-I-tanX

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Letscho

Noch ne Frage die mich interessiert, in den Abdrucken in den Büchern werden die Zeilen und Klammern versetzt geschrieben, hat das was zu bedeuten?

Wenn du willst kann ich Dir mal ein PDF-Dokument von Sun schicken, in dem erklärt ist warum du das einrückst. Zudem sind da weitere Sachen in Zusammenhang mit der "Gestaltung" des Java-Quellcodes beschrieben.

Schicke einfach eine Mail an mich mich wenn du das haben willst.

Redfox

Link zu diesem Kommentar
Auf anderen Seiten teilen

.. für eure Hilfe.

Das wird sicher nicht das letzte mal gewesen sein, das ich hier Fragen habe. Ich hab da kein Problem mit.

Habe mir den empfohlenen Editor gesaugt.

Mal sehen, ob es mit Linux nun auch klappt.

Ich hab mit Win begonnen, weil ich ja eigentlich mit J++ loslegen wollte, wegen der Schule. Nach angefangener Lektüre des besagten Buches hab ich mich dann zum "back to the roots" entschieden. Deshalb Editor. Da ich eigentlich aus der Linux-Ecke stamme, werd ichs mit Linux probieren, aber das gehört nicht hierher und spielt so keine Rolle. Ausserdem bin ich der Meinung, das alles seine Daseinsberechtigung hat, nicht alles ist sooo gut.

Übrigens, den Tip mit den Endungen, werde ich in Win sofort berücksichtigen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe die sdk und jre nochmal installiert, und siehe da, es klappt mit dem kompilieren.

Beim Ausführen bringt er allerdings folgende Fehlermeldung:

D:\>java Quadrat

Exception in thread "main" java.lang.NoClassDefFoundError: D:\javatest\Quadrat

D:\>

Die Kompilierung basiert auf dem schonmal hier geschriebenen Text.

Unter Linux klappt die Kompilierung auch, nur beim Ausführen verlangt er irgendwelche Parameter.

Vielleicht sollte ich mich nicht allzulange mehr mit diesem Text abgeben und weiter im Buch fortfahren. Aber irgendwo muss doch der Hase im Pfeffer liegen. Ich kenn mich eben noch nicht so aus, Misst wenn man alles nur abtippen kann ohne Verstehen was man da schreibt..

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hm, auch Linux-Fan?

Naja, unter Linux steht dann da Command not found.

Ich werde mich mal im Buch weiter vorankämpfen. Letztendlich hab ich mir da auch kein Zeitlimit gesetzt. Ich wills ja schliesslich verstehen und nicht ein Buch abschreiben

:rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ne eigentlich nicht - hatte mich vertan und dachte du arbeitest im Moment unter Windows und daher war das auch ein Windows-Command ....

Aber auch unter Linux (wo ICH mich NICHT auskenne), müßte irgendwo ein Pfad gesetzt sein, wo die ganzen SUN-Klassen zu finden sind.

Gruß

Mirko

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Einfachheit halber arbeite ich bzgl. Java auch min W2k, weil ich mich ja an diesem Buch orientieren will, nur die anderen Sachen laufen unter Lin. Ausserdem gibts momentan in der Schule auch nur W2k, jedenfalls noch.

Also kommt unter Win2k nach Eingabe des Kommandos nur der Ausdruck %classpath%, was ich ja eigentlich nicht anders erwartet habe, denn der Befehl echo besagt ja nur, das die nachfolgende Eingabe angezeigt werden soll. Oder liege ich da falsch? Kann es sein, da die Version 1.4 evtl. fehlerhaft ist und man besser mit 1.3.1 arbeiten sollte? Oder kann es sein, das Borlands JBuilder, den ich noch installiert habe, für diese Zicken verantwortlich ist? Was besagt classpath eigentlich?? Ich nehme an, das ein Pfad definiert wird.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Letscho

Also kommt unter Win2k nach Eingabe des Kommandos nur der Ausdruck %classpath%, was ich ja eigentlich nicht anders erwartet habe, denn der Befehl echo besagt ja nur, das die nachfolgende Eingabe angezeigt werden soll. Oder liege ich da falsch?

Wenn es eine Umgebungsvariable mit dem Namen CLASSPATH geben würde, dann würde dir mit Echo der Inhalt dieser Variablen angezeigt. Du kannst dir aber auch einfach mal mit SET alle Veriablen anzeigen lassen und mal schauen, ob da Classpath bei ist.

In CLASSPATH sollte definiert sein, wo deine JDK Klassen zu finden sind. Bzw. eben auch alle anderen Klassen außerhalb des jdk, die du ständig brauchst. Du kannst den Klassenpfad allerdings auch händisch beim aufruf der Java.exe mitgeben (-cp), mehr dazu mit java.exe -?

Eigentlich spricht nichts dagegen, mit Version 1.4 zu arbeiten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit dem JBuilder sollte es keine Probleme geben.

Um es dir relativ einfach zu machen würde ich dir JOE (Java Oriented Editor) empfehlen. Der Editor durchsucht auf Wunsch nach einem installierten JDK. Es gibt auch einfache Buttons zum Ausführen und zum Compilieren, da können Fehler in der Kommandozeile nicht auftreten.

Den Editor gibt es kostenlos unter www.javaeditor.de .

Viel Spass damit.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dank Joe funzt mein erstes (abgeschriebenes) Programmchenchen. Der Editor scheint wirklich so gut zu sein, wie Ihr sagt. Jedenfalls hat er tatsächlich Quadratzahlen ausgegeben.

Nun ist mein Ehrgeiz weiter gestiegen.

DANKE @ ALL

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das dachte ich auch bis ich mich dann im DOS-Editor selbst vom Gegenteil überzeugt habe...

Ne im ernst, ich hab das so gemacht wie du schreibst, aber trotzdem..

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...