【发布时间】:2018-12-07 07:22:05
【问题描述】:
问题要我通过读取文本文件的前四个名称并将其存储到数组中来完成代码。
这里是要填写的代码。
import java.io.*;
import java.util.Scanner;
public class PersonDemo
{
public static void main(String[] args)
{
File file = new File("phonedata.txt");
Scanner infile = new Scanner(System.in);
Person[] pArray = new Person[4];
for(int i=0;i<4;i++)
{
String n = infile.nextLine();
String p = infile.nextLine();
我应该在这里插入什么?
}
infile.close();
}
}
正在使用的目标文件是:
public class Person
{
private String name = "";
private String phone ="";
public Person(String n, String p)
{
name = n;
phone = p;
}
public Person()
{
name ="";
phone="";
}
public void setName(String n)
{
name =n;
}
public void setPhone(String p)
{
phone = p;
}
public String getName()
{
return name;
}
public String getPhone()
{
return phone;
}
public String toString()
{
return "Name: "+name + " Phone: " + phone;
}
}
正在使用的文本文件是:
奥利维亚
555-1111
提姆
555-2222
特蕾莎
555-3333
森林
555-4444
弗兰克
555-5555
西蒙
555-6666
现在我应该如何使用目标文件将文本存储到数组中我对代码应该是什么样子感到困惑?
【问题讨论】:
-
你使用的是什么版本的java?
-
我有点困惑。你为什么使用
new Scanner(System.in);?您将读取应用程序的标准输入,而不是您想要读取的文件。尝试查看 FileReader 和 BufferedReader。我也有点困惑你为什么使用 Scanner 来达到这个目的(Javadoc 写道:一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串。)。 -
这是我老师给的示例代码,我们应该填写它。
-
你的老师可能想骗你,可能会告诉他这行不通,因为扫描仪使用了错误的输入。我想名字和电话号码之间的白线是复制粘贴造成的?如果这些白线应该在那里,那么代码也不会工作(因为你先读了一个名字,然后你读了一个空行)。
-
@tristanhoward :有什么答案对你有用吗?如果是,请考虑接受/支持他们。 What should I do when someone answers my question?
标签: java arrays object java.util.scanner