好的,所以我有这个类创建了一个学生配置文件数组,其中五个使用多参数构造函数,而最后一个使用零参数构造函数。然后我将数组的每个值设置为一个学生配置文件,我使用for循环遍历数组。
我的问题是如何使用数组将该值返回给方法,以便我可以从另一个类中调用它来打印?我应该采取什么策略,因为我不确定如何使用toString()来做这件事,而且我对所有这些都是新手。可能不是最好为此做System.out.println,但这就是我知道该怎么做。
此外,当我编译它时说它们是不兼容的类型。这就是为什么这不会经历,我不知道如何把它放回字符串而不是int(?)
public class Applicants
{
private Application[] applicant;
public String Applicants()
{
Application student1 = new Application("Blair", "C", "Bass");
Application student2 = new Application("Daniel", "R", "Humphrey");
Application student3 = new Application("Charlie", "L", "Trout");
Application student4 = new Application("Damascus", "L", "Roberto");
Application student5 = new Application("Sofia", "M", "Montrone");
Application student6 = new Application();
applicant[0] = student1;
applicant[1] = student2;
applicant[2] = student3;
applicant[3] = student4;
applicant[4] = student5;
applicant[5] = student6;
for (int index = 0; index < applicant.length; index++)
{
return System.out.println(applicant[index]);
}
}
}
答案 0 :(得分:0)
您可以更改方法签名以返回数组,并初始化数组。 Java方法名称以小写字母开头(按照惯例)。像,
public Application[] getApplicants() {
return new Application[] {
new Application("Blair", "C", "Bass"),
new Application("Daniel", "R", "Humphrey"),
new Application("Charlie", "L", "Trout"),
new Application("Damascus", "L", "Roberto"),
new Application("Sofia", "M", "Montrone"),
new Application()
};
}
答案 1 :(得分:0)
添加&#39;打印&#39; Application类的方法。该类将打印应用程序的特定实例的细节。然后添加一个名为&#39; print&#39;到您的Applications类。这个方法应该有一个类似于你上面的循环,但内部应该是applications[i].print();
。
现在你可以从主程序中说出这样的话:
Applications apps = new Applications();
apps.print();
这里的要点是让Application类处理Application的细节。 Applications类应该处理管理应用程序组的详细信息。
编辑 - 最后,不要让应用程序数组离开Applications类。如果你这样做,你将无法控制它们的使用。
答案 2 :(得分:0)
方法 public String Applicants()期望返回对象类型String,但 System.out.println(..)方法不返回任何对象(void )。这就是您遇到编译错误的原因。
我建议您对代码进行以下更改:
1-更改方法public String Applicants()到构造函数以填充Application []申请者数组。或者将方法名称更改为 public void populateApplication()以避免混淆并具有有意义的名称。
2-在方法 populateApplication()中,您只需要使用新值填充数组。
3-创建新方法以按索引返回所有申请人或申请人:
public Application[] getAllApplications()
{
return applicant;
}
并按索引或其他标准(例如:姓名)返回:
public Application getApplicationByIndex(int index)
{
if (index < applicant.length) //make sure the index is in the array boundary.
{
return applicant[index];
}
return null;
}
调用者将决定如何处理返回结果,即。打印,修改等
希望有所帮助。