gpt4 book ai didi

Java - 将文件读入对象数组

转载 作者:行者123 更新时间:2023-12-01 18:44:37 25 4
gpt4 key购买 nike

我需要一些指导。我不知道如何将示例文本文件读入对象数组。我知道这项工作需要在 main 中的 while 循环中进行。我只是不知道我需要什么来完成这个任务。

我知道我需要逐行读取文件(这就是 while 循环所做的),但我不知道如何将该行解析为数组中的对象。

我知道你们所有人都喜欢在提供帮助之前看看人们已经尝试过什么,但老实说我不知道​​该尝试什么。我不需要施舍,只需要一些指导。

示例文本文件:

100 3
120 5
646 7
224 9
761 4

主要:

public static void main(String[] args) {

Weight[] arrWeights = new Weight[25];
int count = 0;

JFileChooser jfc = new JFileChooser(FileSystemView.getFileSystemView().getHomeDirectory());

int returnValue = jfc.showOpenDialog(null);

if (returnValue == JFileChooser.APPROVE_OPTION) {
File selectedFile = jfc.getSelectedFile();
System.out.println(selectedFile.getAbsolutePath());

BufferedReader inputStream = null;
String fileLine;

inputStream = new BufferedReader(new FileReader(selectedFile.getAbsoluteFile()));

System.out.println("Weights:");

// Read one Line using BufferedReader
while ((fileLine = inputStream.readLine()) != null) {
count++;
System.out.println(fileLine);
}

System.out.println("Total entries: " + count);
}
}

重量等级:

public class Weight {

private int pounds;
private double ounces;
private final int OUNCES_IN_POUNDS = 16;

public Weight(int pounds, double ounces) {
this.pounds = pounds;
this.ounces = ounces;
}

public boolean lessThan(Weight weight) {
return toOunces() < weight.toOunces();
}

public void addTo(Weight weight) {
this.ounces += weight.toOunces();
normalize();
}

public void divide(int divisor) {
if (divisor != 0) {
this.ounces = (this.toOunces() / divisor);
this.pounds = 0;
normalize();
}
}

public String toString() {
return this.pounds + " lbs " + String.format("%.3f", this.ounces) + " oz";
}

private double toOunces() {
return this.pounds * OUNCES_IN_POUNDS + this.ounces;
}

private void normalize() {
if (ounces >=16) {
this.pounds += (int) (this.ounces /OUNCES_IN_POUNDS);
this.ounces = this.ounces % OUNCES_IN_POUNDS;
}
}
}

最佳答案

我不记得如何在 Java 中准确地做到这一点,但我认为这个一般指南可以帮助您:

在 while 循环中 -

  1. 使用 split 函数解析您从读取行中输入的行,您可以将此作为引用(第一个示例可以做到这一点):http://pages.cs.wisc.edu/~hasti/cs302/examples/Parsing/parseString.html

  2. 获取解析后的行值,将它们转换为每个类所需的值并创建对象。

  3. 将创建的对象附加到您的对象列表:arrWeights

关于Java - 将文件读入对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59863853/

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