这是我应该在我的项目中做的事情:
Here is what you do: create a class named MyRecord (MyRecord.java) with the variables firstname, lastname, email, idnumber, color and balance. Use the appropriate data type for each field.
所以我创建了该类,如下所示:
public class MyRecord {
String firstname, lastname, email, color;
double idnumber, balance;
}
该项目的下一部分是在我的 main 方法中创建一个 MyRecord
对象数组,我按照说明进行操作:
MyRecord recarray[] = new MyRecord[ARRAYSIZE];
//ARRAYSIZE is 10
下一步是扫描并读取包含 5 条记录的文件,例如:
String filename = "data.txt";
File fileobject = new File(filename);
Scanner input = new Scanner(fileobject);
到目前为止,程序工作得很好,并且从文件中读取也很好,但现在出现了问题:该项目希望我将这些字符串记录添加到 MyRecord
数组中。我尝试这样做:
for(int i = 0; i <= 5; i++) {
recarray[i] = input.next();
}
但它抛出一个错误,指出“字符串无法转换为 MyRecord
对象数组”。我有点认为它会抛出这个错误,但我不知道如何解决这个问题。那么如何将字符串转换为对象并将它们放入数组中呢?或者还有其他办法吗?
此外,这就是记录,即从中读取记录的文件:
Mary, Jane, maryj@gmail.com, 7654321, blue, 27.54
John, Doe, jd@yahoo.com, 123456, green, 19.24
Curly, Howard, nyuknyuk@msn.com, 888765, purple, 0.0
Bart, Simpson, donthaveacow@hotmail.com, 457673, magenta, 432.23
Clark, Kent, superdude@dailyplanet.com, 976834, red, 11.10
抱歉,我对 Java 还很陌生。谢谢你!
最佳答案
GBlodgett 的回答是正确的。我将添加一个代码示例,说明如何从文件中收集信息并将其放入数组中。例如:
String[] array = new String[6];
for (int i = 0; i < numberOfLinesToRead; i++) {
recarray[i] = new MyRecord(); // Make sure to initialize the object before accessing it
array = scan.nextLine().replaceAll(" ", "").split(","); // The array object now contains each individual value of one line
recarray[i].firstname = array[0];
recarray[i].lastname = array[1];
recarray[i].email = array[2];
recarray[i].idnumber = Double.parseDouble(array[3]);
recarray[i].color = array[4];
recarray[i].balance = Double.parseDouble(array[5]);
}
这假设以相同的顺序从文件中读取每行的每个数据值(名字
、姓氏
、电子邮件
等.).
关于java - 如何将字符串放入对象数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52507805/