gpt4 book ai didi

java - 找不到符号二维数组返回问题

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

我正在尝试使用文本文件的内容创建一个二维数组,但是我无法返回它。它说它找不到符号firstDimension,但我在方法中声明了它。

import java.io.*;
import java.util.*;

public class Map {
public static char[][] readFile() {
try {
List<String> list = new ArrayList<String>();

String thisLine = null;
BufferedReader br;
br = new BufferedReader(new FileReader("map.txt"));

while ((thisLine = br.readLine()) != null) {
list.add(thisLine);
}

char[][] firstDimension = new char[list.size()][];
for (int i = 0; i < list.size(); i++) {
firstDimension[i] = list.get(i).toCharArray();
}

for (int i=0; i < firstDimension.length; i++) {
for (int j=0; j < firstDimension[i].length; j++) {
System.out.print(firstDimension[i][j]);
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}

return firstDimension;
}
}

最佳答案

firstDimension 在您的 try block 中声明,因此它的范围是该 try block 。为了能够在 try block 之外返回它,您需要按如下方式声明它:

public static char[][] readFile() {
char[][] firstDimension = null;
try {
List<String> list = new ArrayList<String>();

String thisLine = null;
BufferedReader br;
br = new BufferedReader(new FileReader("map.txt"));

while ((thisLine = br.readLine()) != null) {
list.add(thisLine);
}

firstDimension = new char[list.size()][];
for (int i = 0; i < list.size(); i++) {
firstDimension[i] = list.get(i).toCharArray();
}

for (int i=0; i < firstDimension.length; i++) {
for (int j=0; j < firstDimension[i].length; j++) {
System.out.print(firstDimension[i][j]);
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}

return firstDimension;
}

在这种情况下,如果遇到异常,您的方法可能会返回 null。

这是another example of the same issue .

关于java - 找不到符号二维数组返回问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9516550/

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