Java 从类创建对象数组

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

} 上面是我的类,我正试图使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, 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);