我的问题很简单我想创建一个数组并用一些字符串项填充它。以下是简单代码,其中包含两个类和一个主要方法(非常基本的程序)。
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();
}
}
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”的数组,并使用将作为输出提供的所有值填充它。
例如
Company Name : Apple
Address : USA
Contact Information : NA
The number of joinees joining every month : 13.0
运行程序时,必须自动将所有这些值插入到数组中。结果应如下所示
Apple[] = {Apple,USA,NA,13.0}
我怎样才能做到这一点?
答案 0 :(得分:1)
更改您的
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 coDetailsSummary(String argCompanyName, String argAddress, String argPhoneNumber) {
// TODO Auto-generated method stub
this.companyName = argCompanyName
//类似于其他参数。
}
然后将其添加到ArrayList并循环遍历它们并打印出来。
答案 1 :(得分:1)
使用ArrayList来动态添加元素 在您的情况下,它将是CompanyInput对象的ArrayList。
ArrayList<CompanyInput>companyName = new ArrayList<CompanyInput>();
companyName.add(new CompanyInput("Apple","USA","NA",13.0));
companyName.add(new CompanyInput("MSoft","USA","NA",15.0));
等...
希望有所帮助!
答案 2 :(得分:1)
在main方法中,创建一个CompanyInput类型的ArrayList,如下所示: List listOfCompanies = new ArrayList();
现在,逐个将CompanyInput的所有实例添加到此列表中。对于例如 添加&#34; apple&#34;到列表: 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方法的输出打印到控制台。
答案 3 :(得分:0)
如果你的java版本支持varargs,那么你可以这样做:
private static String[] createDynamicStringArray(String... items){
return items;
}
用法:
String[] items = createDynamicStringArray("item1", "item2", "item3");
但我建议重新考虑你的设计。
答案 4 :(得分:0)
您应该使用List。数组不支持此功能。
请谷歌的数据列表优于Java的数组