• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> Klick

Java mit Eclipse

tension_90

Macoun
Registriert
24.12.09
Beiträge
116
Hallo Leute!
Muss in meinem Studium Java Programmieren. Hab unter Bootcamp begonnen mit dem Notepad++ und Eingabeaufforderung zu Programmieren. Jetzt hab ich mal ein bisschen herumgesucht und bin dabei auf Eclipse für Mac gestossen.
Hab mir dann dieses Package heruntergeladen und installiert:
http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliossr1

Hoffe das ist das richtige..wie ihr merkt bin ich noch der totale Anfänger o_O

Dann hab ich mit dem Klassiker "hello world" begonnen. Dabei bin ich darauf gestossen dass man bei Eclipse System.Out.println(); eingeben muss, vorher mit der Notepad++/Eingabeaufforderungen hat aber Out.println(); gereicht.

Jetzt mach ich mir sorgen dass das nicht das selbe ist und ich Punkteabzug bekomme. Ich meine es liefert das selbe Ergebnis aber geht das unter Eclipse nicht mit Out.println();?
Die Programmiersprache muss ja die gleiche sein oder?
Ich hoffe ihr könnt mir helfen, und bitte nicht böse sein bin wirklich ganz neu in diese Materie ;)

mfg tension
 

rydl

Bismarckapfel
Registriert
03.02.05
Beiträge
77
Ja klar, ist die gleiche Sprache. Keine Ahnung, was "Out" sein soll, jedenfalls keine Klasse aus dem JDK. Mit System.out.println bist du gut beraten, Punktabzug würde ich dir nur für ersteres geben ^^

Naja, vielleicht bringen sie euch ja im nächsten Block bei, dass Java plattformunabhängig ist... ;)

Belies dich mal etwas, wenn dich Java interessiert:
http://openbook.galileocomputing.de/javainsel8/
 

tension_90

Macoun
Registriert
24.12.09
Beiträge
116
Danke für die schnelle Antwort!
Echt?! Also wir haben das von Anfang an so gelernt? Wahrscheinlich gibt es dann In.read... auch nicht, oder?
Aber wie kann das unter Notepad++/Eingabeaufforderung dann funktionieren? Hängt das vl das davon ab dass man bei dieser Vorgangsweiße immer vorher compilieren musste?

Mein Prof. hat selbst ein Buch heraus gebracht und das hab ich mir besorgt. Da steht es auch so drinnen. "Sprechen Sie Java?" -Hanspeter Mössenböck schimpft sich das. *gg*
Aber wenn das so ist werde ich mich tatsächlich mal in deinen "Link" einlesen.

lg
 

Guy.brush

Weißer Winterkalvill
Registriert
15.12.08
Beiträge
3.545
So wie ich das sehe, benutzt ihr die Klassen Out und In, die der Herr Professor zu seinem Buch anbietet.
Zitat:
Code:
<p>This class allows printing formatted data either to the console
or to a file. It is intended to be used in an introductory
programming course when classes, packages and exceptions are unknown
at the beginning. To use it, simply copy Out.class into the
current directory. </p>
Wenn du aber unabhängig davon sein willst, benutze
Code:
System.out.println(...);
da kannst du sicher sein, dass es immer und überall funktioniert (auch in Eclipse).

Quelle: http://ssw.jku.at/JavaBuch/
 

noahnoox

Fießers Erstling
Registriert
19.09.07
Beiträge
128
Warum machst das in notepad++ und eingabeaufforderung?
Bleib doch in OSX und nimm TextMate und das Terminal!

In der aktuellen Version von Java muss es System.out.println heißen. Ohne System ist Falsch!
Denke mal das liegt an der JVA Version.
Wann hat denn dein Prof das Buch geschrieben?
 

tension_90

Macoun
Registriert
24.12.09
Beiträge
116
Ich habs Anfangs in Windows-Bootcamp gemacht weil alle anderen Studienkollegen unter Windows arbeiten, jetzt ist mir das ganze Umsteigen aber zu blöd worden *gg*

Textmate ist kostenpflichtig oder? Mein Prof. programmiert auch in Textmate. Wäre eigentlich die ideale Idee

Das Buch wurde 2005 überarbeitet und erweitert. Nachdruck von 2009...Ist das zu alt?
kann man irgendwie die alte JVA Version bekommen? Auch wenns blöd ist etwas veraltetes zu verwenden, aber wenn alle die andere Version verwenden will ich auch nicht blöd dastehen xD

mfg
 

Guy.brush

Weißer Winterkalvill
Registriert
15.12.08
Beiträge
3.545
Wie gesagt, der große Vorteil von Java ist die Plattformunabhängigkeit. Extra Windows dafür zu installieren ist übertrieben. Für deine Zwecke wird es unter Mac OS X mit Texteditor und Terminal oder Eclipse genauso funktionieren wie unter Windows. Ich hatte noch nie Probleme damit. Ich weiß zwar nicht was ne JVA Version ist, aber les dir meinen vorherigen Post nochmal durch, programmiere einfach drauf los und mach die keine Sorgen wegen den Versionen.
 

tension_90

Macoun
Registriert
24.12.09
Beiträge
116
@ Guy.brush: Ah, also sind die beiden In Out Bibliotheken dazu da, dass man dann nur mehr In.println(); eingeben muss. Klingt plausibel *gg*
Ich werd jetzt mal versuchen die Bibliotheken in den Ordner zu kopieren in dem ich Programmiere und vl gehts dann so wie bei allen anderen.
Ansonsten wird mir das System bei System.Println(); auch nicht wehtun ;)

Danke an eure schnellen Antworten, ich befürchte es wird aber nicht meine letzte Frage zu diesem Thema bleiben o_O


mfg
 

tension_90

Macoun
Registriert
24.12.09
Beiträge
116
Okey, das funktioniert nicht.
Geht das mann diese Klassen bzw. java-Dateien in Eclipse einbindet? Bei meiner "alten" Windows Methode hat man diese 4 Dateien einfach in den Ordner in dem man programmiert kopieren müssen und es hat funktioniert.
Muss man die bei Eclipse vl irgendwie definieren?
Hab jetzt schon eine halbe Stunde herumprobiert und alles mögliche versucht aber will nichts falsch machen, da frag ich lieber Profis wie euch ;)
 

Guy.brush

Weißer Winterkalvill
Registriert
15.12.08
Beiträge
3.545
Ich weiß es nicht genau, aber du musst sie vermutlich in den .../bin/ Ordner deines Projektes kopieren. Aber überleg dir mal, ob du das wirklich für jedes deiner zukünftigen Programme machen willst... Die Klasse System (für System.in und System.out) macht quasi das gleiche und ist standardmäßig enthalten. Siehe hier.
 

Poljpocket

Salvatico di Campascio
Registriert
07.01.07
Beiträge
432
Wenn du mit Eclipse nicht zurecht kommst, nimm zB gedit aus der Linux-Ecke, bin völlig zufrieden damit.

Dass das Programm funktioniert, hängt ja schlussendlich nicht von Eclipse ab, das ist ja nur ein IDE. Die Frage ist einfach, wie Eclipse konfiguriert ist (Projekteinstellungen). Vielleicht ist da das Problem.

Kopier all deine Dateien in EINEN Ordner, bewege ich im Terminal in diesen und gib "javac MeineMainKlasse.java" ein. Wenn das compiliert, hat Eclipse falsche Einstellungen, wenn nicht, hast du einen Fehler in den Dateien gemacht/übersehen.

Anschliessend ausführen: "java MeineMainKlasse"

Gruss ppocket
 

shotokan3001

Boskoop
Registriert
23.04.10
Beiträge
40
Ich weiß es nicht genau, aber du musst sie vermutlich in den .../bin/ Ordner deines Projektes kopieren. Aber überleg dir mal, ob du das wirklich für jedes deiner zukünftigen Programme machen willst... Die Klasse System (für System.in und System.out) macht quasi das gleiche und ist standardmäßig enthalten. Siehe hier.
Die herangezogenen Module und Libraries steuert bei Java der CLASSPATH. In eclipse gibt es die Möglichkeit per rechtsklick auf das Projekt->Build Path->Configure Build Path... den CLASSPATH einzustellen. Nicht davon beirren lassen dass es im eclipse build path heißt!

Vielleicht hilft dir das noch weiter.
 

tension_90

Macoun
Registriert
24.12.09
Beiträge
116
@ Guy.brush: Das hab ich schon probiert aber es funktioniert leider so nicht, bei Notepad++/Eingabeaufforderungen unter Bootcamp hat man einfach die .class und .java Dateien in den Ordner kopiert in dem man programmiert aber so einfach ist das bei Eclipse anscheinend nicht.

@Poljpocket: Ja das weiß ich dass es nicht von Eclipse abhängt, aber wir haben in der Uni nur mit diesen In/Out Klassen vom Prof. gearbeitet und deshalb war mir das System. bei z.B System.out.println(); fremd. Wir haben da nur Out.println(); eingeben müssen.
Jetzt wollte ich fragen ob ich diese vorgefertigten Klassen vl. in Eclipse ebenfalls benützen kann und dann mit der Version meines Profs. programmieren kann.

@shotokan3001: Ich hab das versucht aber da kann ich nicht meine Klassen hinzufügen, tut mir leid dass ich mich so schlecht auskenne o_O

mfg
 

knalli

Stechapfel
Registriert
19.01.10
Beiträge
159
Diese "Out"-Hilfe scheint wohl eine gängige Praxis zu sein, um den Studenten das Lesen von der Tastatur und Schreiben auf die Konsole zu erleichtern. Allerdings ist das mittlerweile ziemlich einfach, zu Java 1.4 Zeiten war das ein Krampf (das Einlesen von der Tastatur). Insofern werfe ich wohl zu Recht die Qualität des Buches oder der Vorlesung auf, wenn da heute noch mit so einem Konstrukt "gelehrt" wird. Denn das riecht ein bisschen danach, als wäre die Aktualisierung bei "Und im Bonuskapitel finden Sie die Java5-Features" stehen geblieben.

Wie auch immer, zu der Antwort zu deiner Frage. Du hast ein normales Java-Projekt, kein Maven oder sonstigen Builder.

Project -> Properties -> Java Build Path -> Libraries -> Add External Class Folder
Dabei muss du beachten, dass du entsprechend deines Packages Unterordner anlegst.

Das heißt: Wenn du nur 2-3 Classfiles mit dem Package "org.example" (also den volle Name der Klasse hieße org.example.Out) hast, dann legst du in deinem Projekt einen ganz normalen neuen "Folder" bspw. mit dem Namen "external-classes" an (kein "Source Folder"!), dort drin den Subfolder org, dort drin den Subfolder example und dort drin die Class files. Den Folder "external-classes" wählst du dann oben im Java-Build-Path-Editor aus. Fertig.

Das ganze ist umständlich und "macht man" auch nicht so. In der Regel erhält man solche Dinge als jar (Archiv von Class-Files mit eben der o.g. Verzeichnisstruktur) und kopiert die sich ins Projekt und fügt sie dann in den Buildpath ein (geht sogar im Kontextmenu).

Quelle: Gefunden bei StackOverFlow über Google "eclipse java project a external class file", bei mir Suchergebnis 1.
 

tension_90

Macoun
Registriert
24.12.09
Beiträge
116
@knalli : Also muss ich diese .class Dateien bei jedem Projekt wieder hinzufügen? Das ist doch etwas umständlich. Aber danke für die umfangreiche Antwort.
Seltsam dass wir in der Uni mit solchen veralteten Methoden arbeiten..

Gibt es einen guten kostenlosen Editor, den ihr empfehlen könnt? Hab gegoogelt und nur BBEdit oder Textmate gefunden.

lg
 

tension_90

Macoun
Registriert
24.12.09
Beiträge
116
Wenn das so ist dann wird Eclipse verbannt ;)

Fraise sieht nett aus...Syntax-Highlighting ist super :)

Thx für den Tipp, auf die Leute hier im Forum kann man sich echt verlassen ;)
 

Buhmi

Osnabrücker Reinette
Registriert
21.11.09
Beiträge
977
Also ich hab jetzt auch mit nem Studium begonnen und wir nutzen BlueJ sowohl in den Prüfungen als auch zu Hause und das ist sehr einsteigerfreundlich ;)
 
Registriert
20.11.08
Beiträge
55
Meiner Meinung macht es definitiv Sinn bei Eclipse oder der "Alternative" Netbeans zu bleiben. Aber das soll zu keiner Grundsatzdiskussion ausarten.

Eclipse erstellt für ein Java Projekt innerhalb des Workspace einen "bin" und einen "src"-Ordner.

Um die beiden Bibliotheken in Eclipse nutzbar zu machen, musst du lediglich die Java files in deinen src-Ordner kopieren. Eclipse erstellt dann automatisch die Klassen*. Mehr ist es nicht.

*sollten die class-files doch nicht automatisch erstellt werden, schaue unter Projekt, ob "Build Automatically" aktiviert ist.
 

knalli

Stechapfel
Registriert
19.01.10
Beiträge
159
@knalli : Also muss ich diese .class Dateien bei jedem Projekt wieder hinzufügen? Das ist doch etwas umständlich. Aber danke für die umfangreiche Antwort.
Naja, das sieht für dich erstmal so aus. Allerdings kannst du sicherstellen, dass das Projekt komplett unabhängig vom System funktioniert. Mit deiner Wunschlösung würde dein Projekt nur bei dir funktionieren (und bei den Kommilitonen, die das genauso machen). Anderer oder neuer Rechner.. und es würde nicht mehr funktionieren.

Mit der "richtigen" Lösung funktioniert das bei jedem und zu jederzeit.

Wie gesagt: Verpack das ganze in eine JAR-Datei und stups die einfach (etwa per Drag&Drop) in das Verzeichnis, Add to Buildpath, fertig.

Ich empfehle solche kuriosen Abhängigkeit dringend sich nicht anzueignen. ;)