我希望你做得好。我必须为我的编程课程(实际上是期中考试)做这件事,其中一部分就是这个。我有一个.dat文件,其中存储了一些数字。该文件如下所示:
一百分之十二万三千四百五十六 45分之345678 67分之145679 32分之135678 78分之635479 24分之536274 八十〇分之九十八万六千三百七十二 九十一分之二十三万六千五百八十○ 55分之214768 13分之426148
现在,我想创建一些用户,其中第一个数字(在斜杠之前)是密码,第二个数字(斜杠斜线)是他们拥有的金额。我正在使用扫描程序读取文件,然后使用拆分字符串来划分字符串并将它们放入数组中以测试我的文件,但由于某种原因,数组打印出我在扫描程序构造函数中编写的文件路径。这是我的代码。它的测试代码分为3类。
主类:
import java.util.ArrayList;
import java.util.Scanner;
import java.io.IOException;
public class TEST {
public static void main(String[] args) throws IOException {
AddUsers user = new AddUsers();
}
}
Users类,有一个构造函数,setter和getter:
public class Users {
String pin, balance;
public Users(String pin, String balance){
}
public String getPin(){
return pin;
}
public String getBalance(){
return balance;
}
public void setPin(String pin){
this.pin = pin;
}
public void setBalance(String balance){
this.balance = balance;
}
}
最后,使用扫描程序的AddUsers类读取文件并执行其余的操作:
import java.util.*;
import java.io.*;
public class AddUsers {
Users user;
String pin, balance;
int total;
Scanner scan;
ArrayList<Users> UserList;
public AddUsers() throws FileNotFoundException{
scan = new Scanner("users.dat");
UserList = new ArrayList();
while (scan.hasNext()) {
total++;
user = new Users("0", "0");
String tokens[] = scan.nextLine().split("/");
String last = tokens[tokens.length - 1];
System.out.println(last);
}
}
}
这是我得到的输出
users.dat
那么,我该怎么办?我希望它能打印.dat文件中的数字。我似乎无法弄明白。
答案 0 :(得分:0)
您需要将文件对象传递给扫描仪:
File file = new File("users.dat");
scan = new Scanner(file);