# Problem beim ersten compilieren überhaubt



## stevoo (26. Okt 2011)

Erstmal: Bin absoluter Anfänger. Habe mit programmieren noch nie etwas zu tun gehabt.
Ich möchte die Text Datei Test01 compilieren
1. Hab Java auf die Datei Java 2 installiert und javac befinden sich dann in D:\Java 2\bin\javac

Aber wenn ich versuche es zu compilieren kommt so etwas dabei raus
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

D:\Java 2\bin>javac Test01.java
Fehler: Hauptklasse com.sun.tools.javac.Main konnte nicht gefunden oder geladen
werden

Was soll ich tun?
Könnte es vielleicht daran liegen, dass ich das falsche Programm hab? Hab dieses installiert Java SDK (32 Bit) - Download - CHIP Online

mgf stevoo


----------



## Jake?! (26. Okt 2011)

heisst die Klasse in der Datei auch Test01?


----------



## hdi (26. Okt 2011)

Jo, daran wird's wohl liegen: Der Name der Klasse muss mit dem Dateinamen übereinstimmen.

class Main -> Save as Main.java
class Test01 -> Save as Test01.java


----------



## stevoo (26. Okt 2011)

Was muss ich jetzt konkret machen?


----------



## hdi (26. Okt 2011)

Die Antworten aufmerksam lesen. Konkreter als in meinem letzten Post geht's nicht mehr.


----------



## stevoo (26. Okt 2011)

Ja klar  Ich versuche schon seit ein paar Minuten genau nachzudenken was du meinst. Aber wie gesagt, ich bin ein absoluter Anfänger  Deswegen brauche ich wahrscheinlich ein wenig länger. Muss ich die Main class einfach umbenennen, verstehe ich das richtig?


----------



## Jake?! (26. Okt 2011)

ja, oder die Datei umbenennen, je nachdem, welchen von den beiden Namen du benutzen willst


----------



## stevoo (26. Okt 2011)

Tut mir leid, aber irgednwie blicke ich trotzdem nicht durch. Ich hab eine Datei Namens classes.jsa in Main.java umbennant und dann habe ich Test01.java in Main.java umbennant und den Befehl gegeben D:\Java 2\bin>javac Main.java
Und dann kommt die gleiche Fehlermeldung wie oben


----------



## hdi (26. Okt 2011)

Hae? Was soll classes.jsk sein?

Schau mal: Du öffnest einen Texteditor (Notepad, oder was auch immer) und schreibst dort deine Klasse:


```
public class XY{ ... }
```

Diese Datei musst du nun abspeichern unter dem Namen XY.java

Dann kompilierst du sie mit


```
javac XY.java
```

Wobei diese Datei in dem Ordner liegen muss, in dem du dich gerade in der Shell befindest. Also in deinem Falle im /bin-Ornder deiner JDK-Installation.


----------



## ARadauer (26. Okt 2011)

> Ich hab eine Datei Namens classes.jsk(oder so) in Main.java


Ich hoffe du hast die Datei erstellt und das war keine Datei vom jdk..



> und dann habe ich Test01.java in Main.java


Wie können biede Klassen Main.java heißen?



> com.sun.tools.javac.Main


ich glaub da is was gröberes im argen.... installier mal das jdk neu


----------



## hdi (26. Okt 2011)

Ich bin mir grad auch nicht sicher ob du dir das richtige gezogen hast.. SDK.. Ich kenn nur JDK:
Java SE Development Kit 7u1 download page


----------



## Jake?! (26. Okt 2011)

muesste das richtige sein, Java SDK ist Abgekuerzt JDK soweit ich weiss

edit: kann aber natuerlich nie schaden, sich das ganze von der offiziellen Seite zu holen...


----------



## stevoo (26. Okt 2011)

public class Test01 {
public static void main(String[] args) {
System.out.println("Erstes Programm");
}
}

Das habe ich unter Test01 gespeichert und Test01 befindet sich in der Datei D:\Java 2\bin

Vielleicht ist es im falschen bin ordner? Ich habe sonst noch 2 Bin ordner und zwar: D:\Java 2\db\bin und D:\Java 2\jre\bin


----------



## hdi (26. Okt 2011)

Müsste eigentlich korrekt sein. Sicher, dass du die Datei unter Test01*.java* abgespeichert hast? Und nicht vllt Test01.txt oder sowas?

PS: D:/Java 2/bin ist ein _Ordner_, keine Datei.

PPS: Bitte benutze die Java Code Tags für Code (Kaffeetassen-Symbol im Editor)


----------



## Jake?! (26. Okt 2011)

Noch was: Hast du deaktiviert, dass bekannte Dateinamenserweiterungen ausgeblendet werden? Sonst kann es naemlich passieren, dass deine Datei Test01.java.txt heisst, obwohl du nur Test01.java siehst


----------



## stevoo (26. Okt 2011)

Weiß nicht. Wie macht man das?


----------



## Murray (26. Okt 2011)

stevoo hat gesagt.:


> D:\Java 2\bin>javac Test01.java
> Fehler: Hauptklasse com.sun.tools.javac.Main konnte nicht gefunden oder geladen
> werden


Wie A.Radauer schon schrieb - das hat zunächst mal nichts mit der zu übersetzenden Datei zu tun; hier findet das javac-Programm die von ihm selbst benötigten Klassen nicht. Also ist das JDK nicht korrekt installiert.


----------



## stevoo (26. Okt 2011)

Hast du einen Link und eine Anleitung wie ich das JDK korrekt installieren kann und wie ich das alte löschen kann. Aber so nebenbei, wenn ich unte rsoftware nachschaue ist das Java(TM) SE Development Kit 7 Update 1 drauf


----------



## stevoo (26. Okt 2011)

Ich versuche einfach alles neu auf meinem PC zu installieren. Das Notebook lasse ich mal in Ruhe und lösche nichts.

PS: Ich habe Windows XP. Welches JDK soll ich mir downloaden: Windows x86 oder Windows x64?


----------



## hdi (26. Okt 2011)

Nimm den Link den ich vorher gepostet hab, zur Sicherheit. Und am besten du belässt es beim Standard-Pfad (C:/Programme usw).


----------



## stevoo (26. Okt 2011)

Also Windows x86 oder Windows x64?


----------



## Jake?! (26. Okt 2011)

geh mal auf start => Ausführen und gib dxdiag ein und dann sag uns, was bei Betriebssystem steht


----------



## stevoo (26. Okt 2011)

Microsoft Windows XP Home Edition (5.1, Build 2600)


----------



## hdi (26. Okt 2011)

Du kennst nicht den Unterschied zwischen einer Datei und einem Ordner, und weißt nicht was für ein Betriebssystem du hast. Aber du willst programmieren... Das wird ja lustig...

No offense, aber evtl kaufst du dir erstmal paar Computer-Zeitschriften.

Ob x86 oder x64 kannst nur du wissen. Geh auf den Windows-Knopf unten links, und gib in das Suchfeld ein: *dxdiag*

Dann Enter drücken. Im erscheinenden Dialog steht dann irgendwas von Betriebssystem/Operating System. Wenn dort etwas von 64-Bit steht dann brauchst du x64. Wenn dort was von 32 Bit steht, oder einfach gar nix, dann brauchst du x86.

edit: zu langsam.. also da haste deine antwort: x86


----------



## Jake?! (26. Okt 2011)

Hmm also da kein 64bit dabeisteht (wie zum Beispiel bei mir) würde ich sagen du hast ein 32-Bit System und brauchst x86. Kann noch jemand anderes bestätigen dass 32 Bit nie dabeisteht oder könnte das auch an XP liegen? (Ich benutze 7 und Ubuntu, daher weiß ich das nicht...)

edit: zu langsam... was solls^^


----------



## hdi (26. Okt 2011)

Alternativ kannst du prüfen, ob du unter C:/ einen Ordner "Program Files (x86)" oder "Programme (x86)" stehen hast. *Wenn nein*, dann hast du x86.


----------



## stevoo (26. Okt 2011)

Also ok. dann tue ich x86 downloaden. und melde mich wies gelaufen ist


----------



## stevoo (26. Okt 2011)

Registrieren muss ich es nicht, oder?


----------



## hdi (26. Okt 2011)

Nein.


----------



## stevoo (26. Okt 2011)

Wie ändere ich bei der Eingabeaufforderung den Pfad. Dass es zum Beispiel nicht C:\Dukumente und Einstellungen> anzeigt sondern z.b: wie ich es will C:\Programme\Java\jdk1.7.0_01\bin


----------



## hdi (26. Okt 2011)

Besser ist es wenn du java und javac in den System Path einsetzt. Dann kannst du java und javac aus jedem Ordner heraus benutzen.

Rechtsklick auf Computer -> Eigenschaften -> Erweiterte Systemeinstellungen -> Umgebungsvariablen.

Dort den Eintrag "Path" suchen und editieren. Ans Ende des Pfades den Pfad zu deinem JDK-bin Ordner einfügen, mit einem Strichpunkt vom vorigen Eintrag getrennt. z.B:


```
<alles was bisher im Path steht>;C:\Programme\Java\jdk1.7.0\bin
```

Ob's funktioniert hat kannst du testen in dem du in der Eingabeaufforderung in einen beliebigen Ordner wechelst (außer dem bin-Ornder) und dort einfach nur "javac" eintippst. Wenn eine Liste mit Befehlen erscheint hast du alles richtig gemacht. Wenn da steht "unbekannter Befehl" o.ä. dann hast du etwas falsch gemacht.


----------



## stevoo (26. Okt 2011)

Geschafft!! Test01.class habe ich schon.Danke Leute. Mal schauen ob der Java Interpreter funkt.

wegen Path: Hab einfach Java editor ins bin installiert und die Eingabeaufforedrung von dort gestartet


----------



## stevoo (26. Okt 2011)

Ok das steht bei mir: 
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Programme\Java\jdk1.7.0_01\bin>javac Test01.java

C:\Programme\Java\jdk1.7.0_01\bin>java Test01
Erstes Programm

C:\Programme\Java\jdk1.7.0_01\bin>

Wo kann ich das programm jetzt anschauen, was habe ich jetzt davon?


----------



## Jake?! (26. Okt 2011)

Wie meinst du das? Du hast dein Programm ausgeführt, was willst du noch machen?


----------



## hdi (26. Okt 2011)

> Wo kann ich das programm jetzt anschauen, was habe ich jetzt davon?


Tja, was hast du davon... Gute Frage  Das Programm ist nun mal sehr primitiv: Es zeigt den Text "Erstes Programm" an und das war's. Da gibt's auch nix zum Anschauen. Was hast du denn erwartet? Das Programm zeigt nur das was du programmierst...


----------



## stevoo (26. Okt 2011)

Was bewirkt dieses Programm welches ich jetzt geschrieben hab? Sorry für die dummen Fragen, wie gesagt ich bin ein Neuling in diesem Gebiet. Den Text für den Editor habe ich auch nur aus einem Buch


----------



## hdi (26. Okt 2011)

Es bewirkt, dass der Text "Erstes Programm" auf der Eingabeaufforderung angezeigt wird. Und das ist ja auch passiert.


----------



## stevoo (26. Okt 2011)

Trotzdem ist es geil es endlich geschafft zu haben!! Ich bleib natürlich drann! Schau ma das Buch weiter an!! Nochmals vielen vielen dank für eure Hilfe! Ohne euch wäre ich bei weitem nciht so schnell auf das Problem draufgekommen. Danke!!!


----------



## stevoo (26. Okt 2011)

hdi hat gesagt.:


> Es bewirkt, dass der Text "Erstes Programm" auf der Eingabeaufforderung angezeigt wird. Und das ist ja auch passiert.



d.h. ich hab dieses Programm "Erstes Programm" programmiert? Für euch profis ist es natürlich nur ein Witz, aber für mich als Anfänger schon mal ein großer Schritt


----------



## hdi (26. Okt 2011)

> Trotzdem ist es geil es endlich geschafft zu haben!!


Ach, die Zeiten wo ich mich über Hello World! gefreut habe *schwärm* 



> d.h. ich hab dieses Programm "Erstes Programm" programmiert?


Jein. Du hast es abgeschrieben  Aber aus technischer Sicht: Ja, du hast dein erstes Computerprogramm entwickelt.



> Ich bleib natürlich drann!


Gut, viel Erfolg noch!


----------



## stevoo (26. Okt 2011)

Noch eine Frage: Um selber programmiern zu können muss man sich gut mit Algorithmen auskennen. Sehe ich das richtig?


----------



## Jake?! (26. Okt 2011)

Noch ein kleiner Tipp für die nächsten Beispiele: Schau dir erst an, was ein Programm machen soll, und dann tippe es ab ;-)

edit: Naja, man muss halt drauf kommen wie man ein Problem löst, also sich Algorithmen ausdenken. besondere Begrifflichkeiten die algorithmen betreffen muss man dazu nicht unbedingt können.


----------



## stevoo (26. Okt 2011)

Jake?! hat gesagt.:


> Noch ein kleiner Tipp für die nächsten Beispiele: Schau dir erst an, was ein Programm machen soll, und dann tippe es ab ;-)



Ok, mache ich! Danke für den Tipp!


----------



## hdi (26. Okt 2011)

> Um selber programmiern zu können muss man sich gut mit Algorithmen auskennen. Sehe ich das richtig?


Nicht unbedingt. Ich z.B. würde mich selbst als Mathe-Niete bezeichnen. Ist natürlich die Frage, wie man Algorithmus definiert. Generell würde ich eher sagen, man muss eine gewisse Affinität zu logischem Denken haben.


----------

