对象变量无法识别

时间:2012-12-08 04:42:51

标签: java midlet

我在" criteria.setHorizo​​ntalAccuracy(5000);"线。它说的标准不存在。知道我做错了吗?

  package displaytest;
  import javax.microedition.location.Criteria;
  import javax.microedition.location.Location;
  import javax.microedition.location.LocationListener;
  import javax.microedition.location.LocationProvider;





  public class get_gps  {

        Criteria criteria = new Criteria();

        criteria.setHorizontalAccuracy(5000);




  public static String get_lat()
     {


     String lat = "test";

     return lat;
  }

}

4 个答案:

答案 0 :(得分:0)

您不能在构造函数或方法之外的类中调用任意语句。您只能初始化静态或成员变量。

为您的类创建一个构造函数,并在那里初始化criteria对象。例如:

public class GetGps {
  private Criteria criteria = new Criteria();

  public GetGps() {
    criteria.setHorizontalAccuracy(5000);
  }
}

答案 1 :(得分:0)

已经提出的替代方法是使用实​​例初始化器:

public class get_gps {

    Criteria criteria = new Criteria();

    //instance initialiser
    {
        criteria.setHorizontalAccuracy(5000);
    }

    public static String get_lat() {
        String lat = "test";
        return lat;
    }
}

答案 2 :(得分:0)

确保您有一个名为setHorizo​​ntalAccuracy方法的方法。那么它应该是一个void方法,它应该接收一个变量类型int。例如:

public void setHorizo​​ntalAccuracy(int num) {   int HorizAccuracy = 0;

num = HorizAccuracy;

}

答案 3 :(得分:-2)

public class get_gps  {

        Criteria criteria = new Criteria();

        criteria.setHorizontalAccuracy(5000);

在上面的代码中,您缺少使用}括号完成方法。

使用

更改您的代码
    public class get_gps  {

            Criteria criteria = new Criteria();



   criteria.setHorizontalAccuracy(5000);
}