# java erkennt import-klassen nicht?!



## matthias(: (27. Jul 2010)

Hallo,
Ich arbeite mit Netbeans und wenn ich eine Klasse importieren will, also z.B.: import java.util.*;
sagt mir Netbeans: inkorrektes Package   (tritt bei allen imports auf!)
Komischerweise lässt sich das Programm trotzdem kompilieren, obwohl neben den imports so ein kleines Rufzeichen mit der Fehlermeldung is. Dass stört mich 
weis einer von euch wie man das wegmachen kann?


----------



## XHelp (27. Jul 2010)

Hm... Kann es sein, dass du vor den Imports "package irgendwas;" stehen hast?


----------



## matthias(: (27. Jul 2010)

ne, da steht nichts?!
nur "import......;"
???:L


----------



## jgh (27. Jul 2010)

Und das ist definitiv eine Fehlermeldung?
Oder evtl. doch ein Hinweis, dass der import nur nicht genutzt wird?


----------



## matthias(: (27. Jul 2010)

also schon definitiv eine fehlermeldung. weil ich benutze ja den import auch!


----------



## Noctarius (27. Jul 2010)

Zeig doch einfach mal den Code.


----------



## matthias(: (27. Jul 2010)

```
import java.util.ArrayList;

public class DotComVersenken {

    private SpielHelfer helfer = new SpielHelfer();
    private ArrayList<DotCom> dotComListe = new ArrayList<DotCom>();
    private int anzahlVersuche = 0;

    private void SpielEinrichten() {
        DotCom eins = new DotCom();
        eins.setName("Haustiere.com");
        DotCom zwei = new DotCom();
        zwei.setName("BioWare.com");
        DotCom drei = new DotCom();
        drei.setName("FragMich.com");
        dotComListe.add(eins);
        dotComListe.add(zwei);
        dotComListe.add(drei);

        System.out.println("Ihre Aufgabe ist es, drei Dot-Coms zu versenken.");
        System.out.println("Haustiere.com - BioWare.com - FragMich.com");
        System.out.println("Versuchen Sie, wenigst viele Versuche zu benoetigen");

        for(DotCom aktuellesDotCom : dotComListe) {
            ArrayList<String> neuerOrt = helfer.platziereDotCom(3);
            aktuellesDotCom.setZellorte(neuerOrt);
        }
    }

    private void beginneSpiel() {
        while(!dotComListe.isEmpty()) {
            String rateversuch = helfer.getBenutzereingabe("Geben Sie einen Rateversuch ein: ");
            pruefeRateversuch(rateversuch);
        }
        beendeSpiel();
    }

    private void pruefeRateversuch(String rateversuch) {

        anzahlVersuche++;
        String ergebnis = "Vorbei";

        for(DotCom aktuellesDotCom : dotComListe) {
            ergebnis = aktuellesDotCom.pruefDich(rateversuch);
            if(ergebnis.equals("Treffer")) {
                break;
            }
            if(ergebnis.equals("Versenkt")) {
                dotComListe.remove(aktuellesDotCom);
            }
        }
        System.out.println(ergebnis);
    }

    private void beendeSpiel() {
        System.out.println("Alle Dot-Coms sind versenkt!");
        if(anzahlVersuche <= 18) {
            System.out.println("Sie haben nur " + anzahlVersuche + "Versuche benoetigt");
        } else {
            System.out.println("Hat ja lang gedauert. "+ anzahlVersuche + " Versuche");
        }
    }

    public static void main(String[] args) {
        DotComVersenken spiel = new DotComVersenken();
        spiel.SpielEinrichten();
        spiel.beginneSpiel();
    }
}
```

es gibt noch 2 andere klassen!


----------



## Noctarius (27. Jul 2010)

Und dem Projekt ist eine Java Runtime zugewiesen?


----------



## matthias(: (27. Jul 2010)

was ist eine Java Runtime?


----------



## Noctarius (27. Jul 2010)

Das JRE oder JDK


----------



## matthias(: (27. Jul 2010)

also ich arbeite unter OS X
ich habe mir Netbeans geladen, und direkt angefangen Code zu schreiben.
wo kann ich denn nachsehen, ob eine Java Runtime zugewiesen ist?


----------



## hartzie (27. Jul 2010)

Wie ist die Ordnerstruktur vom Projekt. Wenn die sich in einem Ordner befinden dann geben die Ordner die Packagestruktur vor die du dann deklarieren musst.


----------



## matthias(: (27. Jul 2010)

also der Ordner, also das Projekt, liegt auf dem Schreibtisch!
wo muss ich diese Ordnerstruktur angeben?
???:L


----------



## Noctarius (27. Jul 2010)

Vielleicht solltest du erstmal ohne IDE anfangen und auf der Shell kompilieren


----------



## matthias(: (27. Jul 2010)

auf der Shell will ich aber nicht kompilieren!
hab ich ja auch schon zuvor gemacht, und bin jetzt auf Netbeans umgestiegen..!


----------



## hartzie (27. Jul 2010)

Mach mal ein Screenshot so wie du Netbeans auf hast damit man sehen kann was du da fabriziert hast.


----------



## matthias(: (27. Jul 2010)

wollt ich schon machen, aber wo kann man hier ein Bild einfügen?

edit: hab schon gefunden, sorry!!


----------



## hartzie (27. Jul 2010)

Lade das bild entweder auf einen Webspace hoch oder auf eine Seite wo man Bilder hochladen kann.
Googlen geht schnell und hilft.


----------



## lama (27. Jul 2010)

Hi matthias,

du kannst das Bild bei einem kostenlosen Anbieter hochladen und dann hier verlinken, zum Beispiel bei ImageShack

EDIT: Zu langsam


----------



## hartzie (27. Jul 2010)

Irgendwo muss man doch sehen können, wo sich das ganze befindet. Also die Ordner usw. Keine Ahnung wo das bei Netbeans geht.


----------



## matthias(: (27. Jul 2010)

wie meinst du - wo sich das ganze befindet?
Also unter den Einstellungen gibt es einen pfad, der verweist auf eine ant, glaub aber nicht, dass das etwas mit dem zutun hat.


----------



## Gast2 (27. Jul 2010)

Das Programm läuft doch, zumindest steht da was in der Ausgabe.
Ich kenn die Fehlermeldung so wie sie auf dem Bild dargestellt wird eigentlich nur daher wenn du deine Klasse in einem Package hast, aber die package anweisung nicht in der Klasse steht.


----------



## matthias(: (27. Jul 2010)

also einfach damit leben? :shock:


----------



## Gast2 (27. Jul 2010)

Nein 
Entweder die package deklaration in deine Java Klasse schreiben, oder deine Java Klasse ins Standardpackage legen (sollte man aber nicht machen).

Zeig doch mal deine Ordnerstruktur deines Projektes, mach zur noteinfach nen screenshot.

Und zum schluss noch nen Link zum lesen: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 3.9 Compilationseinheiten und eigene Pakete schnüren


----------



## Michael... (27. Jul 2010)

Hab keine Ahnung von Netbeans, aber wenn Du mit der Maus über das Symbol bzw. die entsprechende Stelle fährst, kriegst Du da keinen ToolTip der Dir die Kennzeichnung ein bisschen erläutert - so kenn ich es zumindest von Eclipse


----------



## matthias(: (27. Jul 2010)

also danke erstmal.
also der Ordner liegt einfach am Schreibtisch und drinnen siehts so aus:
(Screenshot)


----------



## matthias(: (27. Jul 2010)

Michael... hat gesagt.:


> Hab keine Ahnung von Netbeans, aber wenn Du mit der Maus über das Symbol bzw. die entsprechende Stelle fährst, kriegst Du da keinen ToolTip der Dir die Kennzeichnung ein bisschen erläutert - so kenn ich es zumindest von Eclipse



ja, ist eh auf einem screenshot zuvor abgebildet.
Da kommt dann dieser Hinweis, dass es sich um ein inkorrektes Package handelt!


----------



## XHelp (27. Jul 2010)

matthias(: hat gesagt.:


> also danke erstmal.
> also der Ordner liegt einfach am Schreibtisch und drinnen siehts so aus:
> (Screenshot)


Und wie sieht es in src aus? Zeig am besten den Baum.


----------



## Ruzmanz (28. Jul 2010)

Ersteinmal hat die Fehlermeldung nichts mit deinem Import zu tun. Diese Fehlermeldung tritt auf, wenn du einen "Ordner" (Package) erstellst und du dort deine Java-Dateien reinmachst, aber keine "package xyz;" Anweisung stehen hast.

Du hast keine Anweisung, wo sich deine Java-Datei befindet:






Normalerweise müsste dort so was stehen, wie in diesem Beispiel:






Also zusammengefasst:

1 - Package-Anweisung
2 - Import
3 - Klasse
(Kommentare können beliebig gesetzt werden)


----------



## matthias(: (28. Jul 2010)

oh man danke, jetzt is es weg :toll:


----------



## matthias(: (28. Jul 2010)

da wäre noch eine Frage:
Wie funktioniert der Debugger unter Netbeans ^^
ich bekomme einfach keine Haltepunkte hin.
Normalerweise braucht man dazu ja nur neben die Zeilennummer klicken, oder?


----------



## Ruzmanz (28. Jul 2010)

Ja, so funktioniert der Debugger. Wenn du Probleme hast, dann musst du diese schon ein bisschen mehr beschreiben, sonst können wir dir auch nicht helfen. Evtl. klickst du in keine Codezeile. Nur wo Javacode steht kann ein Breakpoint gesetzt werden.


```
// Hier nicht
    private void print() { // Hier
        System.out.println("Hi "); // Hier
        // Hier nicht
        System.out.println(name); // Hier
    } // Hier
    // Hier nicht
```


----------



## matthias(: (28. Jul 2010)

also es fällt mir schwer, das problem näher zu beschreiben.
Ich kann schlicht und einfach keine Haltemarke setzten.
Ich klicke auch in die Richtige Zeile, aber es funktioniert nicht.
Kann es sein, das man sich den Debugger extra herunterladen muss?
???:L


----------



## Gast2 (28. Jul 2010)

Nein den musst du nicht extra runterladen.
Einfach mit der linken maustaste auf die Zeilennummer klicken, oder rechte maustaste -> Haltepunkt -> "Zeilen-Haltepunkt ein-/ausschalten".


----------



## matthias(: (28. Jul 2010)

ne, funktioniert keins von beiden :noe:


----------



## Karl Neidhart (28. Jul 2010)

Wenn Du links in die Zeilennummern klickst, sollte sich ein rosa Quadrat bilden. Das ist ein Haltepunkt. Was für mich gewöhnungsbedürftig war (als Umsteiger von Delphi), ist, daß dieser Haltepunkt auch wirklich nur für den Debugger gilt. Er wird ignoriert, wenn Du Dein Programm mit Run|Run Project (F6) ausführst. Es klappt nur, wenn Du den Debugger auch wirklich startest (Debug|Debug Project (Strg-F5)).


----------



## matthias(: (28. Jul 2010)

nein, es bildet sich auch kein rosa Quadrat. :shock:


----------



## XHelp (28. Jul 2010)

Vllt wie hier: http://www.java-forum.org/plattformprogrammierung/98847-netbeans-debugger.html NetBeans neuinstallieren?


----------



## matthias(: (28. Jul 2010)

nein hat leider auch nichts geholfen, habs gerade probiert!

edit: macht es vielleicht einen unterschied das ich unter os x arbeite?
Funktioniert der Debugger hier anderes? Bzw. die Breakpoints setzen?


----------



## kirax (31. Jul 2010)

Versuche mal rechtszuklicken in die Zeile und dann sowas wie "set breakpoint" o.ä. - evtl. gibt es diese Funktion ja in NetBeans.


----------

