[英]Read names/phone numbers from text file and store them into an array in java
該問題希望我通過讀取文本文件的前四個名稱並將其存儲到數組中來完成代碼。
這是要填寫的代碼。
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
現在,我應該如何使用目標文件將文本存儲到數組中,我對代碼的外觀感到困惑?
歡迎使用堆棧溢出@tristan
在String p = infile.nextline();
之后String p = infile.nextline();
,做pArray[i] = n + " " + p
這應該使您的循環看起來像:
for(int i=0;i<4;i++)
{
String n = infile.nextLine();
String p = infile.nextLine();
Person person = new Person(n, p);
pArray[i] = person;
}
這應該可以滿足您的要求。
您可以使用以下邏輯:
for (int i = 0; i < 4; i++) {
String name = infile.nextLine();
infile.nextLine(); // skip a line because there is a blank line in between
String phoneNum = infile.nextLine();
infile.nextLine(); // here again skipping a blank line
Person per = new Person(name, phoneNum);
pArray[i] = per;
}
說明:
name
和phoneNum
。 此外,還應按以下方式定義掃描儀,以通過掃描儀對象infile
讀取文件
Scanner infile = new Scanner(file);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.