我正在研究一个程序,该程序可以接收文本文件并将其转换为团队花名册。文本文件的长度,名字,姓氏,攻击得分和防御得分都未知。名称和分数在同一行。拉切尔·亚当斯(Rachael Adams)3.36 1.93。我不知道如何将文本文件的每一行转换为一个对象。我已经搜索了互联网,所有示例每行仅具有一个值,并将其转换为一个大数组。我在代码中包括了一些额外的导入,因为我知道我将在项目中进一步需要它们(找到最佳的攻击者,最佳的防御者,由6个印刷团队组成的团队)。我已经修改了以前项目中的代码,这些代码使用以行分隔的数字。
class VolleyballFile {
String fileName;
int count;
String currentFileName;
String outputFile="";
String firstName;
String lastName;
double attackScore;
double defenceScore;
Scanner input = new Scanner(System.in);
public VolleyballFile() throws FileNotFoundException {
System.out.println("Please enter a file name to get the roster from");
this.fileName = input.nextLine();
File file = new File(fileName);
Scanner scan = new Scanner(file);
while (scan.hasNextLine()){
int result = Integer.parseInt(scan.nextLine());
this.count+=1;
}
}
}
答案 0 :(得分:0)
使用命令String.split();
,您可以将一个字符串分割为一个字符串数组。所以:
while (scan.hasNextLine()) {
//int result = Integer.parseInt(scan.nextLine());
string[] line = scan.nextLine().split(" ");
firstName = string[0];
lastName = string[1];
attackScore = Float.Parse(string[2]);
defenceScore = Float.Parse(string[3]);
this.count+=1;
}
我不确定您是否可以Float.Parse()
,不记得了,因为我最近没有使用过Java。