gpt4 book ai didi

java - 从Java中的文本文件中读取不同的变量

转载 作者:行者123 更新时间:2023-12-01 11:46:38 26 4
gpt4 key购买 nike

所以我有这样的文字:

16783 BOB ARUM 30.5 10.00

很多这些在文本文件的不同行上作为(长,字符串,字符串, double , double )我想将这些变量存储在数组中,到目前为止我已经:

public class Main {

public static void main(String[] args){

ArrayList<String> ArrEmployee = new ArrayList<String>(); // create array for employees

try {
Scanner txtIn = new Scanner(new File("payroll.txt"));
}
catch (FileNotFoundException e) {

}

}}

我遇到的问题是我无法找到一种方法来有效地将这些值存储在我的arrEmployee数组中,以便我以后可以使用它们。到目前为止,我已经发现使用构造函数创建不同的类可能会有所帮助,但我很难理解如何访问数组中的对象。

例如,如果我只想要行末尾的 double ,假设它现在是存储在数组中的对象,那么我将如何访问该特定的 double ?

最佳答案

创建一个 Employee 类会很有帮助,所以假设您创建一个具有多个实例变量的员工。如果将最后一个 double 值存储为 for 循环中的实例变量之一,则稍后可以通过从对象调用它来检索该值。

如果您选择使用这种方式,则必须更改 ArrayList 以保存员工,因此必须更改从文件中输入的方式。

因此,如果您有一个 Employee 类,其构造函数接受 (long,string,string,double,double) 且最后一个 double 变量名为“D3”,则可以使用:

public class test {

public static void main(String[] args) {

ArrayList<Employee> ArrEmployee = new ArrayList<Employee>(); // create array for employees

try {
Scanner txtIn = new Scanner(new File("payroll.txt"));
while (txtIn.hasNext()) {
Double D1 = txtIn.nextDouble();
String S1 = txtIn.next();
String S2 = txtIn.next();
Double D2 = txtIn.nextDouble();
Double D3 = txtIn.nextDouble();
ArrEmployee.add(new Employee(D1,S1,S2,D2,D3));
}
} catch (FileNotFoundException e) {

}
System.out.println(ArrEmployee.get(0).getD2());//Note here how you can use method getD2() on the method get(0) of your ArrayList, if the list's type is Employee and you've implemented getD2() to return the last double

}

}

关于java - 从Java中的文本文件中读取不同的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29090633/

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