我正在尝试创建一个包含位置的类,包括以下方法:
每个数据字段的Setters(mutators) 对于位置名称,您应该使用trim()方法删除任何前导或尾随空格。
每个数据字段的getters(访问者)
构造函数:您应该只有一个构造函数来获取地名,纬度和经度。您可能希望数据有效,但可能需要修剪字符串。
public class Location {
public Location(String aCity, double aLatitude, double aLongitude)
{
String city = aCity;
double latitude = aLatitude;
double longitude = aLongitude;
}
void setLocation(String theCity)
{
city = theCity.trim();
}
void setLatitude(double lat)
{
latitude = lat;
}
void setLongitude(double long1)
{
longitude = long1;
}
public String getLocation()
{
return city;
}
public double getLatitude()
{
return latitude;
}
public double getLongitude()
{
return longitude;
}
}
我不知道我在哪里出错了,我在这两个城市,纬度和经度都出错了。这是我第一次上课,所以请为我愚蠢一切。谢谢你的时间。
答案 0 :(得分:3)
你快到了。你有:
public Location(String aCity, double aLatitude, double aLongitude)
{
String city = aCity;
double latitude = aLatitude;
double longitude = aLongitude;
}
您正在构造函数中声明局部变量。你实际上想要声明字段:
public class Location {
private String city;
private double latitude;
private double longitude;
public Location(String aCity, double aLatitude, double aLongitude)
{
city = aCity;
latitude = aLatitude;
longitude = aLongitude;
}
...
}
查看declaring member variables上的官方教程。它简洁而精心编写,可以让您更好地了解正在发生的事情。
答案 1 :(得分:0)
以下是你做错了什么:
在代码中,您在构造函数中声明变量。这将使它们仅由构造函数可见。而不是这样:
public class Location {
public Location(String aCity, double aLatitude, double aLongitude)
{
String city = aCity;
double latitude = aLatitude;
double longitude = aLongitude;
}
void setLocation(String theCity)
{
city = theCity.trim();
}
void setLatitude(double lat)
{
latitude = lat;
}
void setLongitude(double long1)
{
longitude = long1;
}
public String getLocation()
{
return city;
}
public double getLatitude()
{
return latitude;
}
public double getLongitude()
{
return longitude;
}
}
您的代码应如下所示:
public class Location {
String city = null;
double latitude;
double longitude;
public Location(String aCity, double aLatitude, double aLongitude)
{
city = aCity;
latitude = aLatitude;
longitude = aLongitude;
}
void setLocation(String theCity)
{
city = theCity.trim();
}
void setLatitude(double lat)
{
latitude = lat;
}
void setLongitude(double long1)
{
longitude = long1;
}
public String getLocation()
{
return city;
}
public double getLatitude()
{
return latitude;
}
public double getLongitude()
{
return longitude;
}
}