gpt4 book ai didi

java - 如何更改 txt 文件中的数据(字符串)以便我可以对该数据进行数学运算?

转载 作者:行者123 更新时间:2023-12-02 09:08:38 25 4
gpt4 key购买 nike

对于我的问题,我看到一个提醒,很多人已经问过这个问题,但我似乎找不到合适的答案。或者答案是其他编程语言,这对我没有帮助。那我再问一下:)

我必须读取 txt 文件,然后对数据进行一些数学运算。该数据有 10000 行,每行有 20 个数字,以分号分隔。为了从 txt 文件读取,我使用 BufferedReader 它给了我字符串。我可能必须将此字符串更改为 int。到目前为止,一切都很好。然后我必须把它变成一个数组......怎么做?数组需要是二维的还是一维就足够了?

最后我必须将结果写入不同的txt文件中。我必须写入可被 3、11 和 5 整除的不同文件数字,然后我必须对 txt 文件中的每一行求和,并对整个 txt 数字求和。我到现在写的还好吗?我应该删除一些东西吗?

class Assignment {

public static void main (String[] args) {

String nameFile = "numbers.txt";
String contentFile = readFromFile(nameFile);
List<Integer> divideNumber = stringToIntList(contentFile);

List<Integer> divisibleNo = processedData(divideNumber);

System.out.println(divideNumber);
}

private static String readFromFile(String nameFile) {
String content = "";
try {
File file = new File(nameFile);
BufferedReader read = new BufferedReader(new FileReader(file));

String line = read.readLine();
while(line != null) {
System.out.println(line);
line = read.readLine();
content = line;
}
read.close();
} catch (IOException e) {
System.out.println("There was an error reading from the file");
}
return content;
}

private static List<Integer> stringToIntList(String contentFile) {
return Arrays
.stream(contentFile.split("; "))
.map(Integer::parseInt)
.collect(Collectors.toList());
}

private static int processedData(int divideNumber) {
try {
for(int i = 0; i < divideNumber; i++) {
if((divideNumber % 3 == 0) || (divideNumber % 5 == 0) || (divideNumber % 11 == 0)) {
System.out.println(divideNumber);
}
}
}
catch(NumberFormatException e){
System.out.println("It is not a number");
}
return divideNumber;
}
}

最佳答案

使用带有适当分隔符的扫描仪:

List<Integer> list = new ArrayList<>();
Scanner scanner = new Scanner(new FileInputStream(nameFile))
.useDelimiter("\\D+");
while (scanner.hasNext()) {
int i = scanner.nextInt();
list.add(i);
}

关于java - 如何更改 txt 文件中的数据(字符串)以便我可以对该数据进行数学运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59585505/

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