# System.out.println - Compiler-Fehler



## Tandorf (31. Mai 2004)

Moin!
Hab´ das Java-SDK 1.3.1 installiert.
Nun gab´s aber schon bei "Hallo Welt" Probleme:


```
System.out.println //"Cannot resolve symbol" --> dabei war wohl der "." zw. "System" u. "out" gemeint.
```

Was soll daran denn schon falsch sein?!? Compiliere ich z. B. nur ein "int a = 5", gibt´s keine "Probleme"...


Gruß & Dank,


TANDORF.


----------



## P3AC3MAK3R (31. Mai 2004)

Wie lautet die komplette Codezeile?

Nur


```
System.out.println
```

oder kommt danach noch etwas?


----------



## Tandorf (31. Mai 2004)

Also so sieht´s insgesamt aus:


```
System.out.println("Hallo Welt");
```

Der Rest ist sicher in Ordnung, es liegt fast sicher an dieser Zeile...


----------



## Beni (31. Mai 2004)

Die sieht aber sehr richtig aus.

Dummer Compiler vielleicht? Ansonsten muss das Suchgebiet ausgedehnt werden, poste mal die ganze Methode. Machmal wird ein Fehler von weiter oben einfach runtergeschoben.


----------



## Tandorf (1. Jun 2004)

```
class HalloWelt {
public static void main (String[] arg) {
     int a = 5;
     System.Out.println("Hallo Welt!");
}
}
```



...schon kapiert - die "Funktion" zur Ausgabe ist wohl noch nicht bekannt - in einem meiner 2 (scheiße) Skripte steht, daß der Ordner "include" im java-Verzeichn. Dateien enthält, die zum Einfügen von nativem Code erforderlich sind.
In C++ wär´s zum Bsp. "#include iostream.h" - muß ich so auch in Java vorgehen? Z. B. "import java.sdout"...


----------



## stev.glasow (1. Jun 2004)

das Out muss klein geschrieben werden


----------



## Roar (1. Jun 2004)

die variable out wird klein geschrieben (API  :### ) (buch  :### ) viel  :###  steht überall


----------



## Tandorf (2. Jun 2004)

Jep, das war´s Problem - hätte schwören können, daß ich´s beim 1. Versuch klein hatte...

Allgemein: Was kann ich denn alles "machen", ohne eine extra Klassenbibilothek einbinden zu müssen? Ich vermute mal Arrays, Kontrollstrukturen, Variablendeklarationen, usw. Auch Dateioperationen?

Gruß & Dank,


TANDORF.


----------



## Stefan1200 (2. Jun 2004)

Dateioperationen befinden sich in java.io.*;.

Theoretisch brauchst du gar nichts einbinden, dann musst du die Java Klassen halt mit dem gesammten Namen ansprechen. Zum Beispiel java.io.BufferedReader würde genauso gehen, als BufferedReader, wenn du oben den import java.io.*; stehen hast.


----------



## Tandorf (2. Jun 2004)

@Stefan1200: Ich meinte ja nicht "eigene, selbst erstellte Klassen", sondern Standard-Klassen. Oder ich hab´ Deinem Beitrag nicht verstanden.

Jetzt hab´ ich denn schon wieder das nächste Problem:



> import java.io.*;
> 
> class HalloWelt {
> public static void main (String[] arg) {
> ...




Meinung: Warum muß das denn immer so ein gefrickel sein, wenn man mit Java arbeiten will?!? Wäre ich Autor eines Java-Buches, würde ich auf Seite eins, und zwar auf NUR EINER SEITE, folgendes unterbringen:
- Installation (geht ja noch relativ intuitiv...);
- Systemvariable setzen (explitzit WIE, und nicht nur WO (wie in vielen "guten" Büchern...);
- Und eben die Umgebung so weit einrichten, daß Beispiele der standard-Syntax ausgeführt werden können.
Dazu: Habe jetzt 4 Java-Crashkurse hinter mir (div. Lehrgänge, "Arbeitsamt", usw. ...), und nun auch im Studium damit zu tun - und immer hatte jeder Probleme mit der Einrichtung - das KANN DOCH NICHT SEIN (daß jeder Autor das so lapidar abtut...)!!!


----------



## Roar (2. Jun 2004)

uff...
lies doch mal deinen code. wird da irgendwo eine variable In deklariert? oder gibt es irgendeine Klasse In ? nein.
es gibt kein "In" und darum kannst du auch kein "In" benutzen.


----------



## Tandorf (2. Jun 2004)

In meinem scheiß-Buch "Sprechen Sie Java" steht: "Die Klasse "In" kann von [JavaBuch] geladen werden" - sorry, hab ich übersehen (ist doch immerhin im Vorwort und auf der Buch-Rückseite beschrieben, wo der Download liegt...).
Es gibt also im Java-Standard keine Eingabe- , aber eine Ausgabe-Funktion???

Hab´ inzw. über "google" "java tutorial" gesucht - die ersten 5 Treffer waren jeweils ohne (sinnvolle) Hinw. zur Einrichtung...


----------



## Roar (2. Jun 2004)

Tandorf hat gesagt.:
			
		

> Es gibt also im Java-Standard keine Eingabe- , aber eine Ausgabe-Funktion???



natürlich. das ist System.in und System.out . beides PrintStreams (oder sowat). die beiden streams entsprechen z.b. den C stdin und stdout streams...


----------



## Tandorf (2. Jun 2004)

Ups, hab´ jetzt rausgefunden: Es gibt tatsächl. keine "Eingabe" im Java-Standard (warum auch immer), sondern nur in div. "Paketen".
Sorry für meine Wortwahl, bin aber momentan etwas im Klausur-Streß und allg. genervt, daß man sich (auch im Studium) immer alle Informationen so mühsam zusammensuchen muß, nur um dann festzustellen, wie einfach es gewesen wäre, hätte sich der Autor/Dozent eine bessere Struktur überlegt...


----------



## Tandorf (2. Jun 2004)

Roar hat gesagt.:
			
		

> Tandorf hat gesagt.:
> 
> 
> 
> ...




Aus meinem Buch:


> In Java ist die Ein- und Ausgabe von Werten nicht Teil der Sprache, sondern gehört zur Java-Bibliothek. Es gibt in dieser Bibliothek diverse Pakete, um Zahlen, Texte, Bitströme oder auch Bilder einzulesen und wieder auszugeben. Für usnere Zwecke ist das zu kompliziert. Wir benutzen eine einfachere Bibliothek (siehe [JavaBuch]), die für dieses Buch entwickelt wurde und uns erlaubt, Zahlen und Zeichen von der Tastatur zu lesen und auf den Bildschirm auszugeben.



Bleibt die Frage, was "einfacher" ist: Die Datei runterzuladen (und einzubinden), oder mit "System.in" / "System.out" zu arbeiten...


----------



## Roar (2. Jun 2004)

Tandorf hat gesagt.:
			
		

> Roar hat gesagt.:
> 
> 
> 
> ...




was willst du jetzt runterladen ???  :shock:


----------



## Tandorf (2. Jun 2004)

...die Datei, die in dem Buch beschrieben wird ("eine einfachere Bibliothek, die für dieses Buch entwickelt wurde und uns erlaubt, Zahlen und Zeichen von der Tastatur zu lesen und auf den Bildschirm auszugeben").


----------



## Roar (2. Jun 2004)

:shock: äh...
nochmal: System.in System.out sind die beiden standart streams. dann gibt es noch jede menge andere streams in java.io mit denen man dateien lesen kann (Bilder und so werden normalerweise eh anders behandelt). du brauchst dir keine extra packages runterzuladen. ich kenn das buch auch nicht,


----------



## Tandorf (2. Jun 2004)

...hab ich schon kapiert, deswegen hab ich auch nochm. das Buch in Frage gestellt, und zwar mit


> Bleibt die Frage, was "einfacher" ist: Die Datei runterzuladen (und einzubinden), oder mit "System.in" / "System.out" zu arbeiten...


 --> leicht zynisch gemeint...


----------



## Roar (2. Jun 2004)

ich würde mir bestimmt keine extra klassen runterladen, nur weil man dadurch beim einlesen von ner konsole 2 oder 3 zeilen spart. wenn es solche klassen schon gibt, und sie einfach sind, wieso sollte man die nicht benutzen sondern andere runterladen??


----------



## Maks (2. Jun 2004)

Tandorf hat gesagt.:
			
		

> Sorry für meine Wortwahl, bin aber momentan etwas im Klausur-Streß und allg. genervt, daß man sich (auch im Studium) immer alle Informationen so mühsam zusammensuchen muß, nur um dann festzustellen, wie einfach es gewesen wäre, hätte sich der Autor/Dozent eine bessere Struktur überlegt...



Dazu kann ich nur sagen:
Warum einfach wenns auch schwer geht?
Ich wollte OHNE Lehrer oder Kurs Java lernen (und habs auch einigermaßen hingekriegt) aber glaube nicht, daß ich mit EINEM Buch oder Tutorial auskam. Ach ja mittlerweile beschäftige ich mich mit Java (privat NEBEN der Arbeit) seit 1 1/2 Jahren und kann im Forum so einigermaßen mitreden...

Hätte ich keine Flatrate und damit dauernden Internetzugang, wodurch ich mir Beispiele und verschiedene Online Bücher und Tutorials zusammensuchen kann, hätte ich wohl längst aufgegeben.
Obwohl das zusammensuchen wohl auch ein Grund wäre es bleiben zu lassen.
FÜNF Bücher habe ich zum Einstieg gelesen und jedesmal haben alle die entscheidenden Infos für Anfänger einfach weggelassen oder so schlecht beschrieben, daß ichs erst nach dem Tutorial JAVA INSEL 3 endlich kapiert hab.
einer der wenigen Autoren, die verständlich schreiben.

Also nur nicht aufgeben, irgendwann findet man was passendes.


----------



## Tandorf (3. Jun 2004)

Ja, das kann ich auf so ziemlich alles beziehen, worin ich mich bisher autodidaktisch (Kurse u. Vorlesungen konnte man natürl. auch fast immer knicker, in meinem Fall...) einarbeiten wollte:
- Delphi-Rezepte-Buch: Zu jedem Rezept noch was zusätzl. eingebaut, was man später nie wieder finden konnte (nicht im Rezepte-Index), und was meist viel umfangreicher als das eigentl. "Rezept" war...
- Lotus Notes / Lotus Script: Dazu gibt es überhaupt nur 1 deutschsprachiges Buch (welches nicht gerade der Renner ist...)...
- C++ - die professionelle Referenz --> Das Thema Zeiger wird folgendermaßen eröffnet:  *Ein Zeiger muß genau wie jede andere Variable deklariert werden. Bei d. Vergabe v. Zeigernamen gelten die gleichen Regeln wie bei Variablennamen. Kann auf jedes beliebiege Datenobjekt zeigen, außer...* Nicht, daß auch nur einmal erwähn wurde, wozu Zeiger eigentlich verwendet werden...
- HTML/Java-Script: Self-HTML ist wirklich gut!!!
- "XML in der Praxis": Ich hab´s einfach nicht verstanden, obwohl ich Zeit hatte und unbedingt wollte...
Alles in allem fehlen oft entweder der Praxisbezug, oder neue "Techniken" werden nur in Zusammenhang mit bisherigem Wissen dargestellt, was durchaus verwirrend sein kann...


Alles in allem hab´ ich noch kein wirkl. gutes Buch im Bereich "Progammierung" gefunden...

Woran liegt´s? Daran, daß die, die Bücher schreiben "dürfen", nicht mehr wissen, wie´s als Anfänger war bzw. "Freaks" sind...


----------



## Tandorf (15. Jun 2004)

Moin!

Etwas zur Klarstellung: Das Buch "Sprechen Sie Java?" von "Hanspeter Mössenböck" ist *doch* nicht schlecht!!!
Ist´ sogar eines der besten Prog.-Bücher, die ich je gelesen hab´!!!
Was Recht ist, muß Recht werden!


----------

