连接3个不同的java文件
首先,它从class College tester开始,向用户请求命令。 第一个命令是添加。添加的作用是让用户输入一个名称(通过标识空格至少有两个单词)和一个地址。 然后用它创建一个学生对象。我将student对象添加到arraylist中 问题#1:如何添加collegetester输入并从中创建student对象 问题#2:之后我如何将其添加到阵列学院 Collegetester(我从中获取用户输入) 学生对象(学生对象) 和arraylist(在不同的文件中)连接3个不同的java文件,java,string,object,arraylist,Java,String,Object,Arraylist,首先,它从class College tester开始,向用户请求命令。 第一个命令是添加。添加的作用是让用户输入一个名称(通过标识空格至少有两个单词)和一个地址。 然后用它创建一个学生对象。我将student对象添加到arraylist中 问题#1:如何添加collegetester输入并从中创建student对象 问题#2:之后我如何将其添加到阵列学院 Collegetester(我从中获取用户输入) 学生对象(学生对象) 和arraylist(在不同的文件中) import java.ut
import java.util.ArrayList;
公立学院{
private ArrayList entries=new ArrayList();
}
让我们快速分析一下您的代码:
您的Student
对象看起来像Student
类对象类型的构造函数,在本例中,它很可能是CollegeTester类的内部类
这里的交易是,您的addCommand()
已经将您的CollegeTester类与您的Student类连接起来,在您提供名称和地址的输入后执行此命令,它将创建Student对象的新实例
这意味着此时,您需要将这个新创建的Student
对象添加到College
列表中
但是,如果您仔细查看您的学院
列表,您会发现:
学院
类型对象的列表(但您需要学生
类型对象的列表)Student
对象,还需要将列表对象类型更改为Student
此外,如果您想拥有多个学院,您可以考虑将列表声明为<代码>静态< /代码>,否则您将必须声明一个实例,以将<代码>学生< /代码>对象添加到它。
希望这是足够的信息,让你开始在正确的方向还有一个建议是不要将类视为实际对象,而应将它们视为可用于构造这些实际对象的蓝图。主要方法应调用对象数组类中的构造函数,该类创建对象
CollegetTester ct
ct = new CollegeTester();
然后是一个插入新Student的方法,该方法调用Student类中的Student构造函数来创建新的Student对象
ct.insert("input1", "input2");
编写一个insert方法,该方法调用以创建新学生,并将该对象添加到College
将值添加到新学生对象的构造函数:
String studentName;
String studentAddress;
public Student(String name, String address) {
studentName = name;
studentAddress = address;
}
注意:使用
ArrayList
您只需使用ArrayList的方法add
。侧注:!(name.contains(Character.toString(“”))
…为什么不干脆!name.contains(“”)
?如果我们告诉你,你什么也学不到。因为。只包含工作字符串序列或我得到的东西errors@Shimy顺便说一下,Java字符串是一个字符序列…我在过去的一周里一直在尝试连接对象,但我不明白对象是如何一起工作的。谢谢,我完全理解如何将student对象添加到数组中,b但是,如果学生对象位于单独的文件中该怎么办?如何使用collegetester中的信息创建对象。如果student
位于单独的类文件中,则可以通过导入导入位置旁边的collegetester
顶部的student
类,从collegetester
类访问它通过扫描仪
,您就可以在CollegeTester
中引用和创建学生对象,只需确保在导入时指定学生
类的完全限定名即可。
ct = new CollegeTester();
ct.insert("input1", "input2");
String studentName;
String studentAddress;
public Student(String name, String address) {
studentName = name;
studentAddress = address;
}