gpt4 book ai didi

java - 从文本文件实例化一个类

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:43 24 4
gpt4 key购买 nike

我有一个包含姓名、电话号码和员工 ID 的文本文件。

示例:

Chris Cotton
5555555555
CCOTTON

Joshua Trammell
5555555555
JTRAMMELL

我有一个名为 Employee 的类,其构造函数采用姓名、电话号码和 ID。

如何使用该文本文件来实例化文本文件中每条记录的员工类,并使用员工 ID 作为对象名称?

package com.evolution.model;

public class Employee {
private String name;
private int phoneNumber;
private String employeeId;

public Employee(String name, int phoneNumber, String employeeId) {
this.name = name;
this.phoneNumber = phoneNumber;
this.employeeId = employeeId;
}

最佳答案

您可以逐行读取文件,并且可以在数组中维护三个连续行,并且当您捕获三行时,您可以使用其构造函数构造员工对象,就像我在 main 方法中所示的方式一样。

这是您可以使用的示例代码。为了安全起见,我已将 phoneNumber 的数据类型从 int 更改为 String,因为电话号码可能只包含数字,也可能不只包含数字。但是,如果您确定您的电话号码只包含不以零开头的数字,则可以在 for 循环的构造函数创建调用中编写 Integer.parseInt(fileLines.get(i + 1)) 而不是仅 fileLines.get(i + 1)

这是一个示例代码,

public class Employee {
private String name;
private String phoneNumber;
private String employeeId;

public Employee(String name, String phoneNumber, String employeeId) {
this.name = name;
this.phoneNumber = phoneNumber;
this.employeeId = employeeId;
}

public String toString() {
return String.format("name: %s, phoneNumber: %s, employeeId: %s",
new Object[] { name, phoneNumber, employeeId });
}

public static void main(String args[]) throws Exception {
try (BufferedReader reader = new BufferedReader(new FileReader("emp.txt"));) {
String line = null;

int counter = 0;
String[] lineObject = new String[3];
while ((line = reader.readLine()) != null) {
line = line.trim();
if (line.length() == 0) {
continue;
}
lineObject[counter++] = line;
if (counter == 3) {
counter = 0;
Employee employee = new Employee(lineObject[0], lineObject[1], lineObject[2]);
System.out.println(employee);
// employee.dowhatever();
}
}
}
}
}

执行时,该程序打印以下输出,

name: Chris Cotton, phoneNumber: 5555555555, employeeId: CCOTTON
name: Joshua Trammell, phoneNumber: 5555555555, employeeId: JTRAMMELL

关于java - 从文本文件实例化一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53378739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com