Hashtable not a statment

Hallo zusammen,

ich bin neu hier und will mir gerade JAVA beibringen:-) es ist sehr interessant aber auch schwer. Ich habe zwar bereits Datenbankentwicklung mit MS Access gelernt aber Java bietet mir dann mehr. Ich habe nun ein Problem ich soll eine Aufgabe lösen wo ich etwas auf dem Schlauch stehe. Vielleicht kann mir ja jemand helfen.

Schreiben Sie eine Konsolenapplikation unter dem Namen “HashDatenstruktur”. Beachten Sie beim codieren das Sie immer den vollständigen Hashtable -Klassennamen verwenden müssen. (java.util.hashtable) damit die Klasse sowie gefunden wird.

Erzeugen in dieser Applikation ein Hashtable- Objektmithilfe des parameterlosen Hashtable_Konstruktor.

Erzeugen Sie 6 verschidene Objekte der Klasse Kreis mit unteschieldlichen Eigenschaften als "ANONYME OBJEKTE! (???) und mappen Sie diese in Hashtable. Benützen Sie den Schlüssel Hüllklasse_Objekte für den einfachen Datnetyp “int” die sie fortlaufend ab 0 erzeugen ?
Ermittelnb Sie das 4. Element in der Hashtable und geben Sie dessen x-/und Y Koordinatn an.
Mein Javacode lautet bis dahin:

import java.util.Hashtable;
    
public class HashDatenstruktur1 
{
	public static void main(String[] args)
	{
        java.util.Hashtable <Integer, Kreis> Kreis = new Hashtable <Integer, Kreis> ();
        
        int id = 0;
        Kreis.put(new Integer(id++),new Kreis(5,145,21)); // irgendwelche zuffalswerte
        Kreis.put(new Integer(id++),new Kreis(15,165,171));// irgendwelche zuffalswerte
        Kreis.put(new Integer(id++),new Kreis(115,475,221));// irgendwelche zuffalswerte
        Kreis.put(new Integer(id++),new Kreis(25,9,21));// irgendwelche zuffalswerte
        Kreis.put(new Integer(id++),new Kreis(1,15,221));// irgendwelche zuffalswerte
        Kreis.put(new Integer(id++),new Kreis(51,215,2121));// irgendwelche zuffalswerte
        
        { // es soll dass 4. Element ausgegeben werden, nicht das Element mit dem Key 4...
            int i=1;
            for(Enumeration<Kreis> en = Kreis.elements();en.hasMoreElements();++i){
                Kreis actualElement = en.nextElement();
                if(i==4){
                    System.out.println("x: "+actualElement.getX()+"  y:"+actualElement.getY());
                }
            }
        }
    }
}

 
 
// einfache Container-Klasse
class Kreis{
 
    private int x;
    private int y;
    private int radius;
    
    
    public Kreis(int radius, int x, int y) {
        super();
        this.radius = radius;
        this.x = x;
        this.y = y;
    }
    
    public int getX() {
        return x;
    }
    public void setX(int x) {
        this.x = x;
    }
    public int getY() {
        return y;
    }
    public void setY(int y) {
        this.y = y;
    }
    public int getRadius() {
        return radius;
    }
    public void setRadius(int radius) {
        this.radius = radius;
    }
    
 
}```

kann mir jemand helfen?
Ich bekomme beim komplimieren folgende Fehlermeldung:

java:7: not a statement java.util.Hashtable [U]<[/U]String[U],[/U] String> Kreis = new java.util.Hashtable <String, String> ();

was ist falsch?

Lieben Dank an alle

Was wird denn ausgegeben, wenn du
javac -version
eintippst?

Wenn man die erste Zeile durch
import java.util.*;
ersetzt, sollte es zumindest compilieren…

steht dein Compiler auf einer Java Version größer als 5?
weil darunter kannst du keine Generics verwenden, auch wenn das eine andere Fehlermeldung geben würde.

  1. Du importierst bereits java.util.Hashtable, darum reicht es wenn du nur Hashtable<?,?> schreibst wie auch beim “new Hashtable<?,?>()” dahinter.
  2. Bei generics darf zwischen der Klasse und dem <> KEIN Whitespace sein ! Also einfach die Leerziechen hinter Hashtable löschen das es so aussieht :

Java Code:
[LEFT][ol]
[li][FONT=Courier New]Hashtable<Integer, Kreis> kreise=new Hashtable<Integer, Kreis>();[/li][/ol][/FONT]
[/LEFT]

  1. Variablen RICHTIG bennen ! “Kreis” ist eine Klasse, also kannst du dieses Literal nicht auch für einen Variablennamen nutzen. Nimm hier lieber “kreise”, denn 1) schreibt man Variablen grundsätzlich lowerCamelCase und 2) sind es ja mehrere Kreise
  2. Natürlich Java >= 5.0 verwenden