首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JAVA中动态生成数组?

如何在JAVA中动态生成数组?
EN

Stack Overflow用户
提问于 2011-11-18 06:16:09
回答 5查看 3.3K关注 0票数 0

我的问题很简单,我想要创建一个数组并用一些字符串项填充它。下面是一个简单代码,包含、两个类、一个主要方法(相当基本的程序)。

代码语言:javascript
复制
public class CompanyDetails {
public static void main (String[] args){

    CompanyInput apple = new CoInput();
    apple.coDetailsSummary("Apple","USA", "NA");
    apple.computeNoOfJoinees();

    CompanyInput htc = new CoInput();
    htc.coDetailsSummary("HTC", "Thailand", "NA");
    htc.computeNoOfJoinees();

}

}

代码语言:javascript
复制
public class CompanyInput {
float noOfJoinees;
String companyName;
String address;
String phoneNumber;
int randomInt,randomInt1;
int noOfEmployees;
Array gh;

void coDetailsSummary(String companyName, String address, String phoneNumber) {
    // TODO Auto-generated method stub

    System.out.println("Company Name                              : "+companyName); 
    System.out.println("Address                                   : "+address); 
    System.out.println("Contact Information                       : "+phoneNumber); 

}
void computeNoOfJoinees(){
    float m1,m2, m3;
    Random randomGenerator = new Random();
    for (int idx = 1; idx <= 10; ++idx)
        randomInt = randomGenerator.nextInt(30);
        randomInt1 = randomGenerator.nextInt(20);

        m1 = randomInt;
        m2 = randomInt1;
    m3 = m1+m2/100;
    System.out.print("The number of joinees joining every month : "+m3);
    System.out.println("\n");
}

}

我希望创建一个名为"companyName“的数组,并将所有作为输出的值填充到数组中。

如:

代码语言:javascript
复制
Company Name                              : Apple
Address                                   : USA
Contact Information                       : NA
The number of joinees joining every month : 13.0

所有这些值都必须在运行程序时自动插入到数组中。结果应该是这样的

代码语言:javascript
复制
Apple[] = {Apple,USA,NA,13.0}

我怎样才能做到这一点?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-11-18 06:23:21

使用ArrayList,在您的情况下动态添加元素,它将是CompanyInput对象的ArrayList。

代码语言:javascript
复制
ArrayList<CompanyInput>companyName = new ArrayList<CompanyInput>();
companyName.add(new CompanyInput("Apple","USA","NA",13.0));
companyName.add(new CompanyInput("MSoft","USA","NA",15.0));

等等。

希望这能帮上忙!

票数 1
EN

Stack Overflow用户

发布于 2011-11-18 06:21:04

改变你的

代码语言:javascript
复制
float noOfJoinees;
String companyName;
String address;
String phoneNumber;
int randomInt,randomInt1;
int noOfEmployees;
Array gh;

void coDetailsSummary(String companyName, String address, String phoneNumber) {
    // TODO Auto-generated method stub

    System.out.println("Company Name                              : "+companyName); 
    System.out.println("Address                                   : "+address); 
    System.out.println("Contact Information                       : "+phoneNumber); 

}

转到

代码语言:javascript
复制
void coDetailsSummary(String argCompanyName, String argAddress, String argPhoneNumber) {
    // TODO Auto-generated method stub
this.companyName = argCompanyName

//其他论点也是如此。

代码语言:javascript
复制
}

然后将其添加到ArrayList中并循环遍历并打印出来。

票数 1
EN

Stack Overflow用户

发布于 2011-11-18 06:30:22

在主方法中,创建一个类型为ArrayList的CompanyInput,如下所示: List listOfCompanies = new ();

现在,一个接一个地将所有CompanyInput实例添加到这个列表中。例如,在列表中添加“苹果”:listOfCompanies.add(苹果);

还将Object类的toString方法重写为CompanyInput类。要知道如何覆盖toString,可以参考:http://www.javabeat.net/tips/12-overriding-the-tostring-method-in-object-cl.html

现在,只需打印列表,就像打印任何变量:- System.out.println(listOfCompanies);

而覆盖的toString方法的输出将被打印到控制台中,用于添加到列表中的所有实例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8178492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档