Java “哈希表”;未解决的编译”;在爪哇

Java “哈希表”;未解决的编译”;在爪哇,java,jakarta-ee,java-ee-7,Java,Jakarta Ee,Java Ee 7,这是我的课 package main; import java.util.Hashtable; public class Information { private final static String name = "Info Name"; private final static String direccion = "direction street number"; Hashtable<String,String> coordenates =

这是我的课

package main;

import java.util.Hashtable;

public class Information {

    private final static String name = "Info Name";
    private final static String direccion = "direction street number";

    Hashtable<String,String> coordenates = new Hashtable<String,String>();
    coordenates.put("lat", "36.564565465");
    coordenates.put("lng", "64.584616511");

}
packagemain;
导入java.util.Hashtable;
公开班级信息{
私有最终静态字符串name=“Info name”;
专用最终静态字符串direccion=“方向街道编号”;
Hashtable coordenates=新Hashtable();
协调一致的投入(“lat”,“36.564565465”);
协调出售(“lng”,“64.584616511”);
}
我从中学到了很多

此示例创建一个数字哈希表。它使用数字的名称作为键:
哈希表数
=新哈希表();
数字。放入(“一”,1);
数字。放入(“2”,2);
数字。放入(“三”,3);
要检索数字,请使用以下代码:
整数n=number.get(“两”);
如果(n!=null){
System.out.println(“两个=”+n);
}
我的代码有什么问题

im为JavaEE开发人员使用Eclipse,JavaSESDK7(1.7) 在windows 7 64位上


谢谢

您试图在方法、构造函数或
静态
初始化器的上下文之外执行代码

public class Information {

    private final static String name = "Info Name";
    private final static String direccion = "direction street number";

    Hashtable<String,String> coordenates = new Hashtable<String,String>();
    /**
      This belongs in a constructor or method
      coordenates.put("lat", "36.564565465");
      coordenates.put("lng", "64.584616511");
    **/

}
公共类信息{
私有最终静态字符串name=“Info name”;
专用最终静态字符串direccion=“方向街道编号”;
Hashtable coordenates=新Hashtable();
/**
这属于构造函数或方法
协调一致的投入(“lat”,“36.564565465”);
协调出售(“lng”,“64.584616511”);
**/
}

您试图在方法、构造函数或
静态
初始化器的上下文之外执行代码

public class Information {

    private final static String name = "Info Name";
    private final static String direccion = "direction street number";

    Hashtable<String,String> coordenates = new Hashtable<String,String>();
    /**
      This belongs in a constructor or method
      coordenates.put("lat", "36.564565465");
      coordenates.put("lng", "64.584616511");
    **/

}
公共类信息{
私有最终静态字符串name=“Info name”;
专用最终静态字符串direccion=“方向街道编号”;
Hashtable coordenates=新Hashtable();
/**
这属于构造函数或方法
协调一致的投入(“lat”,“36.564565465”);
协调出售(“lng”,“64.584616511”);
**/
}

您试图调用hashtable.put()在方法外部,您可能可以在构造函数内部执行,我不确定您的要求是什么,但我想您可以避免hashtable的开销,并定义两个字段lat和long

您试图调用hashtable.put()在方法外部,您可能可以在构造函数内部执行,我不确定您的要求是什么,但我想您可以避免哈希表的开销,并定义两个字段lat和long

public static void main(String args[]) {    
    Hashtable<String,String> coordenates = new Hashtable<String,String>();
    coordenates.put("lat", "36.564565465");
     coordenates.put("lng", "64.584616511");    
}

1.将其写入主函数

public static void main(String args[]) {    
    Hashtable<String,String> coordenates = new Hashtable<String,String>();
    coordenates.put("lat", "36.564565465");
     coordenates.put("lng", "64.584616511");    
}

编译器错误的文本是什么?编译器错误的文本是什么?
coordenates
不是
static
,因此将
coordenates.put…
放入方法、构造函数或初始化块(非静态块)中是可以的。无论如何+1表示最快的答案:)是的,我在代码注释中“有点”暗示了这一点;),但是,考虑到您可以在方法、构造函数或静态块中执行代码,我试图覆盖我的基础-不能让每个人都满意;)
coordenates
不是
static
所以将
coordenates.put…
放在方法、构造函数或初始化块(不是静态块)中是可以的。无论如何+1表示最快的答案:)是的,我在代码注释中“有点”暗示了这一点;),但是,考虑到您可以在方法、构造函数或静态块中执行代码,我试图覆盖我的基础-不能让每个人都满意;)