我已经用谷歌搜索了几天,但运气不佳。我正在尝试读取一个文本文件并使用该信息来填充类对象的数组的私有字段。我是 Java 新手,对一般编程也很陌生。
我想出的读入数组的方法似乎很笨拙,我觉得必须有更好的方法,但是我找不到这种特殊情况的好例子。
创建一堆字符串变量是我可以让它工作的唯一方法。也许 main 是一个不好的地方。也许扫描仪在这里是一个糟糕的选择?
有什么更好的方法来实现这种情况?
我的文本文件包含由空格分隔的字符串和整数,类似于:
乔 2541 555-1212 345 1542 类型
Bob 8543 555-4488 554 1982 类型...等
到目前为止,我的大部分代码都在 main 中:
Scanner in = new Scanner(new FileReader("accounts.txt")); //filename to import
Accounts [] account = new Accounts [10];
int i = 0;
while(in.hasNext())
{
account[i] = new Accounts();
String name = in.next();
String acct_num = in.next();
String ph_num = in.next();
String ss_num = in.next();
int open_bal = in.nextInt();
String type = in.next();
account[i].setName(name);
account[i].setAcctNum(acct_num);
account[i].setPhoneNum(ph_num);
account[i].setSSNum(ss_num);
account[i].setOpenBal(open_bal);
account[i].setType(type);
i++;
}
class Accounts
{
public Accounts()
{
}
public Accounts(String n, String a_num, String ph_num,
String s_num, int open_bal, String a_type, double close_bal)
{
name = n;
account_number = a_num;
phone_number = ph_num;
ssn = s_num;
open_balance = open_bal;
type = a_type;
close_balance = close_bal;
}
public String getName()
{
return name;
}
public void setName(String field)
{
name = field;
}
public String getAcctNum()
{
return account_number;
}
public void setAcctNum(String field)
{
account_number = field;
}
//And so forth for the rest of the mutators and accessors
//Private fields
private String name;
private String account_number;
private String phone_number;
private String ssn;
private int open_balance;
private String type;
private double close_balance;
}