gpt4 book ai didi

Java读取文件并写入数组

转载 作者:行者123 更新时间:2023-11-29 03:02:11 25 4
gpt4 key购买 nike

---------------- 已解决!!! ----------------------我要感谢大家的帮助!

我必须读取一个包含 nxm 个元素的文件,然后将这些元素放入二维数组中,然后将其打印出来。我在打印我的数组时有点卡住了。在 file.txt 中我有 2x2 => 2 行和 2 列,元素是:1 2 3 4。

这是我的代码:

public class ex_1 
{
public static void main(String args[])
{
FileReader fr = new FileReader("FirstMatrix.txt");
BufferedReader br = new BufferedReader(fr);
String s = br.readLine();
String[] split = s.split("x");
int k=Integer.parseInt(split[0]);
int l=Integer.parseInt(split[1]);
System.out.println("Matrix dimensions: "+k+" lines, "+l+" columns si "+k*l+" elements");

System.out.print("Elements in matrix are: \n");

int[][] FirstMatrix = new int [k][l];
while ((s = br.readLine()) != null)
{
for(int i=0; i<FirstMatrix.length; i++)
for(int j=0; j<FirstMatrix[i].length;j++)
{
FirstMatrix[i][j] = Integer.parseInt(s);
System.out.println("FirstMatrix["+i+"]["+j+"]="+FirstMatrix[i][j]);
}
}
br.close();

我的输出结果如何:

FirstMatrix[0][0]=1   
FirstMatrix[0][1]=1
FirstMatrix[1][0]=1
FirstMatrix[1][1]=1
FirstMatrix[0][0]=2
FirstMatrix[0][1]=2
FirstMatrix[1][0]=2
FirstMatrix[1][1]=2
FirstMatrix[0][0]=3
FirstMatrix[0][1]=3
FirstMatrix[1][0]=3
FirstMatrix[1][1]=3
FirstMatrix[0][0]=4
FirstMatrix[0][1]=4
FirstMatrix[1][0]=4
FirstMatrix[1][1]=4

我想要的样子:

FirstMatrix[0][0]=1   
FirstMatrix[0][1]=2
FirstMatrix[1][0]=3
FirstMatrix[1][1]=4

请问有人知道我该如何解决这个问题吗?

编辑!!如果我像这样更改代码

    int[][] FirstMatrix = new int [k][l];

while ((s = br.readLine()) != null)
{
for(int i=0; i<k;i++)
for(int j=0; j<l; j++)
{
FirstMatrix[i][j] = Integer.parseInt(s);
}
}
br.close();

for(int i=0; i<FirstMatrix.length; i++)
for(int j=0; j<FirstMatrix[i].length;j++)
{
System.out.println("FirstMatrix["+i+"]["+j+"]="+FirstMatrix[i][j]);
}

我得到这个输出:

FirstMatrix[0][0]=4
FirstMatrix[0][1]=4
FirstMatrix[1][0]=4
FirstMatrix[1][1]=4

最佳答案

您正在执行 n*n 次循环。因为每次您读取文件时都会进入循环。如果您知道每一行都是一个数字,您可以只读取一次并打印每一行。

试一试,让我知道会发生什么。

来自墨西哥的问候

关于Java读取文件并写入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34163313/

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