2013-05-23 8 views
7

Ich programmiere meine erste App, und ich versuche, eine Karte zu erstellen, die einige Informationen speichert.Werte in Karte einfügen < K, V >

Ich benutze ECLIPSE und ich bekomme immer den gleichen Fehler, aber ich habe gegoogelt (eigentlich DuckDuckGo-ed) und in StackOverflow gesucht und ich kann den Fehler nicht finden ... Also ich bin verzweifelt hierher gekommen.

Bibliotheken werden korrekt importiert (da der ADT dies tut) und ich vermute Oracle Dokumentation ist in Ordnung, also ... warum funktioniert es nicht?

Ich meine, keine der beiden Methoden funktioniert, um ein Schlüssel-Wert-Paar in die Karte einzufügen.

enter image description here

Der interessante Teil kommt, wenn bei den Fehlern suchen.

Der erste sagt Syntax error on token ",", { expected after this token
Der zweite sagt Syntax error, insert "}" to complete ClassBody

Ich fange ein bisschen verzweifelt zu bekommen, konnte ich nicht der Code einfacher machen! Vielen Dank!

+4

Sie benötigen Ihren Code in einer Art von Methode. –

Antwort

37

Es gibt zwei Probleme hier. Zuerst müssen Sie dies in eine Methode einfügen, und zweitens können Sie die [] Syntax nicht verwenden; Sie müssen Map.put verwenden.

public class Data { 
    public static void main(String[] args) { 
     Map<String, String> data = new HashMap<String, String>(); 
     data.put("John", "Taxi Driver"); 
     data.put("Mark", "Professional Killer"); 
    } 
} 
+0

Danke! Ich wusste nicht, dass es in einer Methode sein musste. Ich habe alle anderen Dinge außer dem versucht (da ich keine Ahnung hatte). Es tut mir leid, wenn es eine einfach zu einfache Frage war, aber ich gehe nur zu StackOverflow, wenn ich verzweifelt bin. Danke nochmal – Nico

2

Die Syntax ist

data.put("John","Taxi driver"); 
+0

Ja, aber das funktioniert auch nicht. Und deshalb habe ich die Syntax '[]' ausprobiert. Danke! – Nico

2

diesen Code Versuchen

HashMap<String, String> map = new HashMap<String, String>(); 
map.put("EmpID", EmpID); 
map.put("UnChecked", "1"); 
3

Die zwei Fehler, die Sie in Ihrem Code haben, sind sehr unterschiedlich.

Das erste Problem ist, dass Sie Ihre Map im Körper der Klasse ohne eine Aussage initialisieren und bevölkern. Sie können entweder eine statische Map- und eine static {//TODO manipulate Map}-Anweisung im Hauptteil der Klasse haben oder die Map in einer Methode oder im Konstruktor der Klasse initialisieren und auffüllen.

Das zweite Problem ist, dass Sie keine Map syntaktisch wie ein array, so die Aussage data["John"] = "Taxi Driver"; ersetzt werden sollte durch data.put("John", "Taxi Driver") behandeln können. Wenn Sie bereits einen "John" Schlüssel in Ihrem HashMap haben, wird sein Wert durch "Taxi Driver" ersetzt.