gpt4 book ai didi

java - 文件到二维数组

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

我需要从文本文件创建一个二维数组,以便稍后在某些操作中使用。

这是我的文件用空格分隔“”:

0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0

这是我的代码:

import java.io.*;

public class TxtToArray{
public static void main(String args[]){
double[][] array = new double[100][100];
int x=0, y=0;

try{
BufferedReader in = new BufferedReader(new FileReader("E:\\Documents\\JavaPrograms\\TxtToArray\\src\\Array.txt"));
String bar;

while ((bar = in.readLine()) != null){
String[] values = bar.split(" ");
for (String str : values){
double str_double = Double.parseDouble(str);
array[x][y]=str_double;
y++;
}
x++;
}

in.close();

}catch( IOException ioException ) {
System.out.println("Something happened...");
}
}
}

谢谢!寻求帮助

编辑:我纠正了解释和代码语法中的一些错误。如果还有更多请告诉我。

最佳答案

您从未告诉我们问题是什么,但我看到的一个问题是您仅用逗号分隔每一行输入。这不起作用,因为您的输入数据也使用空格作为分隔符。一种选择是在用逗号分隔之前删除此空格:

while ((bar = in.readLine()) != null) {
String[] values = bar.replaceAll("\\s+", "")
.split(",");

for (int y=0; y < values.length; ++y) {
double str_double = Double.parseDouble(values[y]);
array[x][y] = str_double;
}

x++;
}

您会注意到我使用了 for 循环来迭代每个输入中的字符串。这是一个不错的选择,因为它消除了您管理数组的第二个索引的需要。

关于java - 文件到二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39433728/

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