Parameter passing 当我将扫描器作为参数传递到类中时,扫描器的行为如何?
我有一个类条目,它包含PERSON和PHONE类型(两个独立的类)。在我的主类中,我使用Scanner从txt文件中获取数据并将其插入条目创建者方法。问题是我只正确获取PHONE变量,而PERSON得到“null”.个人而言,当我通过相同的扫描仪和txt文件创建PERSON时,我在输入PERSON时得到了很好的结果 以下是部分代码: 课堂人员:Parameter passing 当我将扫描器作为参数传递到类中时,扫描器的行为如何?,parameter-passing,java.util.scanner,static-methods,Parameter Passing,Java.util.scanner,Static Methods,我有一个类条目,它包含PERSON和PHONE类型(两个独立的类)。在我的主类中,我使用Scanner从txt文件中获取数据并将其插入条目创建者方法。问题是我只正确获取PHONE变量,而PERSON得到“null”.个人而言,当我通过相同的扫描仪和txt文件创建PERSON时,我在输入PERSON时得到了很好的结果 以下是部分代码: 课堂人员: public static PERSON loadPerson(Scanner sc) { return new PERSON(
public static PERSON loadPerson(Scanner sc)
{
return new PERSON(sc.next(), sc.next());
}
课堂电话:
public static PHONE loadPhone(Scanner sc){
return new PHONE(sc.next(), sc.next());
}
课堂报名:
public static ENTRY loadEntry(Scanner sc)
{
return new ENTRY(PERSON.loadPerson(sc), PHONE.loadPhone(sc));
}
在主测试类中,我写下:
E = ENTRY.loadEntry(sc);
txt文件第1行如下所示:“Gavrilo Aleksic 012 221788”(不带引号)。他应该在PERSON Constructor中输入名字和姓氏,在PHONE const中输入两个数字。它们看起来像:
人:
private String name;
private String surname;
public PERSON(String name, String surname)
{
this.name = name;
this.surname = surname;
}
电话:
private String local, area;
public PHONE(String area, String local)
{
this.area = area;
this.local = local;
}
条目:
public static ENTRY loadEntry(Scanner sc)
{
return new ENRTY(PERSON.loadPerson(sc), PHONE.loadPhone(sc));
}
Java
中的对象是
我从您的问题中了解到,您希望在执行以下操作时初始化Person
和Phone
的实例-
new Entry()
而且,条目
类结构类似于
class Entry {
Person p;
Phone ph;
}
将构造函数添加到条目
类
Entry (Person p, Phone ph) {
this.p = p;
this.ph = ph;
}
现在,在你的主要方法-
Scanner s = new Scanner("File path to read from");
Entry e = Entry.loadEntry(sc);
s.close();
内部,loadEntry
方法
public static Entry loadEntry (Scanner sc) {
if (s.hasNextLine()) {
String[] temp = s.nextLine().split("\\s");
//assuming file contains 'Gavrilo Aleksic 012 221788'
Person p = new Person(temp[0], temp[1]);
Phone ph = new Phone(temp[2], temp[3]);
return new ENRTY(p, ph);
}
return null;
}
请显示所有三个类的构造函数。同时显示输入行pleaseok,在这里。您的意思是有必要为没有扫描仪的条目创建构造函数吗?