Java 从类创建对象数组
} 上面是我的类,我正试图使50000的数组和以下是我的主要Java 从类创建对象数组,java,arrays,class,object,Java,Arrays,Class,Object,} 上面是我的类,我正试图使50000的数组和以下是我的主要 public class PostalCodes { private String city; private double latitude; private double longitude; private String zip; private String state; public PostalCodes(String aZip, String aCity, String aState, double aLatitude
public class PostalCodes {
private String city;
private double latitude;
private double longitude;
private String zip;
private String state;
public PostalCodes(String aZip, String aCity, String aState, double aLatitude, double aLongitude)
{
city = aCity;
latitude = aLatitude;
longitude = aLongitude;
zip = aZip;
state = aState;
}
void setZip(String aZip)
{
zip=aZip;
}
void setState(String aState)
{
state=aState;
}
void setLocation(String aCity)
{
city = aCity.trim();
}
void setLatitude(double lat)
{
latitude = lat;
}
void setLongitude(double long1)
{
longitude = long1;
}
public String getState()
{
return state;
}
public String getZip()
{
return zip;
}
public String getLocation()
{
return city;
}
public double getLatitude()
{
return latitude;
}
public double getLongitude()
{
return longitude;
}
public String toString()
{
String result = String.format("%s %s,%s (%1.3f; %1.3f)",zip, city, state, latitude,longitude);
return result;
}
公共类Hmwk{
公共静态void main(字符串[]args)引发IOException{
URL=新URL(“http://noynaert.net/zipcodes.txt");
扫描器输入=新扫描器(url.openStream());
int计数器=0;
最终整数最大值=50000;
PostalCodes[]codesArray=新的PostalCodes[50000];
while(input.hasNextLine()&&counter 对于(int i=0;i,您的代码试图将字符串添加到PostalCodes数组中,但实际上您想要添加一个PostalCodes对象
删除对toString()
的调用:
顺便说一句,我建议您将类重命名为单数PostalCode
我建议您使用Java提供的集合框架
PostalCodes code = new PostalCodes(zip,city,state,lat,longy);
codesArray[counter] = code;
List postalcolidelist=newarraylist(50000);
邮政编码=新邮政编码(邮政编码、城市编码、州编码、纬度编码、长编码);
postalCodeList.add(代码);
那么我该如何打印出095601 Amador City,CA(38.427;-120.828)格式的数组的前3个元素呢?是否使用System.out.println(codesArray[I.toString())进行for循环
work?谢谢你的快速回复是的,for循环应该可以帮你做到。@Bohemian我试过你说的,然后我试着打印数组的元素,它没有打印任何东西,只是运行和终止?@Welshboy我试着这么做,但它没有打印任何东西。我编辑了我的原始代码来显示什么我现在知道了。我有什么地方出错了吗?我正试着打印第一个元素,然后是每千分之一个元素
PostalCodes code = new PostalCodes(zip,city,state,lat,longy);
codesArray[counter] = code;
List<PostalCodes> postalCodeList = new ArrayList<PostalCodes>(50000);
PostalCodes code = new PostalCodes(zip,city,state,lat,longy);
postalCodeList.add(code);