# Cannot find Symbol(String)



## treagod (27. Nov 2011)

Hallo,
vorneweg - ich bin ein blutiger Anfänger.
Ich bring mir gerade Java mithilfe der Seite Java Tutorial interaktiv - Programmieren lernen mit Java bei und hab jetzt folgendes Problem:
Der Author hat folgenden Code angegeben um die Benutzung eines Strings zu erklären:

```
class StringDemo1
{
  public static void main ( String[] args )
  {
    String str;
    int    laenge;

    str = new String( "Elementar, mein lieber Watson!" );

    laenge = str.length();    // die length() Methode des Objekts ausführen

    System.out.println("Die Laenge ist: " + laenge );

  }
}
```

Aus Neugierde hatte ich den Code kopiert, gespeichert und kompilieren lassen... jetzt spuckt mir der Compiler allerdings folgendes aus:


> StringDemo1.java:8: cannot find symbol
> symbol  : constructor String(java.lang.String)
> location: class String
> str = new String( "Elementar, mein lieber Watson!" );
> ...



Könnte mir jemand erklären was genau dabei schief gelaufen ist? Eine Aufgabe von der Seite fordert ähnliches von mir, aber auch dort kommen diese Fehler vor.

Würde mich über Information freuen.

mfg Trea

Edit: Das Forum zeigt die ^ nicht richtig an.. sie sind an den folgenden stellen:
1. unter new
2. unter str.
3. unter new
4. unter println


----------



## ARadauer (27. Nov 2011)

Sicher dass du gespeichert hast, der Code sollte funktionieren. Überprüf nochmal ob du genau diese Datei kompilierst...


----------



## UV-Eprom (27. Nov 2011)

Irgendwie steht in der Fehlermeldung mehr drin als du im geposteten code hast?


----------



## treagod (27. Nov 2011)

UV-Eprom hat gesagt.:


> Irgendwie steht in der Fehlermeldung mehr drin als du im geposteten code hast?



Erm... du hast recht!? Hab aber nochmal meinen Code überprüft ... und das ist genau der den ich oben stehen hab.


----------



## krackmoe (27. Nov 2011)

Ich schätze mal das du beim kopieren die Imports vergessen hast.. Darum findet er das alles nicht...


----------



## ARadauer (27. Nov 2011)

Das Beispiel braucht keine imports...

Schreib mal public vor class.... ich denke du kompelierst nicht das was du bearbeitest...


----------



## treagod (27. Nov 2011)

Oje ... ich hab mal meine früheren Programme kompilieren lassen und im Terminal steht jetzt auf einmal bei jedem Programm 


> String.java:6: cannot find symbol
> symbol  : constructor String(java.lang.String)
> location: class String
> str = new String("Hello World?");
> ...


obwohl diese Zeilen gar nicht vorhanden sind ..

Edit: Ok ich hab die Datei gefunden wo diese besagten Zeilen drin waren und jetzt kompiliert wieder alles ...

Edit2: Nochmal eine Zwischenfrage: hat vielleicht jmd eine Idee wie das zu stande kam, dass jede Datei diese 2 Zeilen aus einer Fehlerhaften Datei mit kompilieren wollte?


----------



## ARadauer (27. Nov 2011)

ja sag ich ja.... so jetzt musst du nur noch sagen wie du kompilierst...


----------



## treagod (27. Nov 2011)

ARadauer hat gesagt.:


> ja sag ich ja.... so jetzt musst du nur noch sagen wie du kompilierst...



Ich hoffe ich verstehe deine Frage richtig .. ich arbeite mit Ubuntu und kompiliere alles im Terminal mit "javac Datei.java"

Edit: Ok ich glaub ich hab mir meine Frage selber beantwortet... ich glaub das Problem kam daher, da die eine fehlerhafte Datei String.java mit der Klasse String bezeichntet wurde, womit dann alles was einen String ausmacht überschrieben wurde.. kann das sein?


----------



## ARadauer (27. Nov 2011)

ja Klassen besser keine Namen von bestehenden Klassen oder Schlüsselwörter geben


----------

