2016-08-09 2 views
0

gibt, also habe ich heute Eclipse geladen, um nach ein paar Monaten ein anderes Projekt zu starten, und aus irgendeinem Grund mag Eclipse nichts, was ich mache.Eclipse zeigt Fehler an, obwohl es keinen

Als ein Beispiel von dem, was er tut, bekomme ich zwei Fehler in der zweiten Zeile:

public ArrayList<String> markers = new ArrayList<String>(); 
markers.add("Maps:"); 

Mehrere Marker an dieser Linie - Syntaxfehler auf Token (s), fehl am Platze Konstrukt (e) - Syntaxfehler auf Token "" maps: "", löschen dieses Token

Hier ist der Rest des Codes für diese Klasse:

package exercise; 

import java.io.File; 
import java.io.FileReader; 
import java.util.ArrayList; 
import java.util.Scanner; 

public class Map { 

    public ArrayList<String> from; 
    public ArrayList<String> to; 


    public ArrayList<String> markers = new ArrayList<String>(); 
    markers.add("Maps:"); 

    File file = new File("input.txt"); 
    private int counter = 0; 
} 

Jede Hilfe wäre willkommen. Danke

+0

Sie benötigen eine "Haupt" -Methode. Sie müssen all diesen Code in 'main()' – TheLostMind

+1

'markers.add (" Maps: ") einfügen;' muss Teil einer Methode oder eines Initialisierungsblocks sein. – bradimus

+1

Eclipse macht einen schlechten Job, Ihnen zu sagen, dass Sie nicht korrekt Java schreiben. – duffymo

Antwort

1

Sie benötigen Code, um in einer Methode zu sein, und um Ihr Programm auszuführen, benötigen Sie eine Hauptmethode. Sie haben weder - Sie öffnen nur eine Klasse und fangen an, Code zu schreiben. Das ist in Java nicht möglich.

Etwas wie:

public class Map { 

    public ArrayList<String> from; 
    public ArrayList<String> to; 

    public static void main(String[] args) { 
     ArrayList<String> markers = new ArrayList<String>(); 
     markers.add("Maps:"); 
0

Im Gegensatz zu anderen Sprachen benötigen die Java Ihre Aussagen in irgendeiner Form von "Block" zu sein. Normalerweise wären das Methoden.

Aber nur für die Aufzeichnung, könnten Sie auch Ihre Sachen in setzen.

In Ihrem Fall natürlich, erstellen Sie einfach eine statische void main-Methode, um Ihre Aussagen zu wickeln.

0

Ther Grund ist ganz einfach:

diese statment keinen gültigen Umfang hat es invelid machen:

markers.add("Maps:"); 

bewegt es in einem Verfahren (zum Beispiel der Hauptmethode) und alles wird gut funktionieren!