【问题标题】:Eclipse is showing errors even though there isn't one即使没有错误,Eclipse 也会显示错误
【发布时间】:2016-12-15 22:58:01
【问题描述】:

所以我今天加载了 Eclipse 并在几个月后开始另一个项目,出于某种原因,Eclipse 不喜欢我正在做的任何事情。

作为一个例子,我在第二行得到两个错误:

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

此行有多个标记 - 令牌上的语法错误,放错了位置 结构体) - 标记 ""Maps:"" 的语法错误,删除 这个令牌

这是这个类的其余代码:

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;
}

任何帮助将不胜感激。谢谢

【问题讨论】:

  • 您需要一个main 方法。您需要将所有代码放入main()
  • markers.add("Maps:"); 必须是方法或初始化块的一部分。
  • Eclipse 在告诉您您没有编写正确的 Java 方面做得不好。
  • 感谢您为我指出这一点!
  • 在 Eclipse 中没有什么可指责的。报告的错误是 Eclipse IDE(错位构造)根据 Java 语法完全相关,如其他 cmets 中所述。

标签: java eclipse


【解决方案1】:

原因很简单:

此语句没有有效范围,因此无效:

 markers.add("Maps:");

将它移动到一个方法中(例如 main 方法),一切都会正常工作!

【讨论】:

    【解决方案2】:

    与其他语言相比,Java 要求您的语句采用某种形式的“块”。通常,这将是方法。

    但为了记录,你也可以把你的东西放到initialisier blocks

    当然,鉴于您的情况,您只需创建一个静态 void main 方法来包装您的语句。

    【讨论】:

      【解决方案3】:

      你需要代码在一个方法中,并且要运行你的程序你需要一个主方法。你两者都没有——你只需要打开一个类并开始编写代码。这在 Java 中是不可能的。

      类似:

      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:");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-18
        • 1970-01-01
        • 2016-03-08
        • 2015-02-16
        • 2020-06-13
        相关资源
        最近更新 更多