HashMapJava-错误消息

HashMapJava-错误消息,java,hashmap,Java,Hashmap,下面是我的代码: import java.util.HashMap; public interface Action { abstract void run(String s); } public static void main (String[] args){ HashMap<String, Action> actions = new HashMap<String, Action>(); actions.put("

下面是我的代码:

import java.util.HashMap;

    public interface Action {
        abstract void run(String s);
    }

public static void main (String[] args){

    HashMap<String, Action> actions = new HashMap<String, Action>();
    actions.put("visible", new Action() {
        public void run(String s) {
            System.out.println("Running 'visible' on: " + s);
        }
    });
    String input[];
    input = new String[2];
    input[0] = "sun";
    input[1] = "visible";
    actions.get(input[1]).run(input[0]);
}
import java.util.HashMap;
公共接口操作{
抽象空运行(字符串s);
}
公共静态void main(字符串[]args){
HashMap actions=新建HashMap();
actions.put(“可见”,新操作(){
公共无效运行(字符串s){
System.out.println(“在:+s上运行“可见”);
}
});
字符串输入[];
输入=新字符串[2];
输入[0]=“太阳”;
输入[1]=“可见”;
actions.get(输入[1]).run(输入[0]);
}
对于行:“公共静态void main(String[]args){

我得到以下错误:

这条线上有多个标记

语法错误,请插入“枚举标识符”以完成枚举标头

令牌“]”上的语法错误,应在该令牌之后

令牌“void”上的语法错误,应为@


我觉得代码很好。有人能帮我解决这个错误吗?

您的
public static void main
方法必须属于一个类

public class SomeClass 
{

    public static void main (String[] args) {
    ...
    }

}

您必须将
操作
接口移动到另一个源文件,或者将其嵌套在包含main方法的类中。

谢谢。我有一个与非常类似的问题。事实上,它非常类似,您能帮我解决吗?