将二维数组的值赋给变量

  • 本文关键字:变量 二维数组 java
  • 更新时间 :
  • 英文 :


我正在读取一个文本文件,并将每个逗号分隔的字符串存储在一个二维数组中。我需要一种方法来分配每个单独的字符串给一个变量。

try {
Scanner scanner = new Scanner(new File(filePath));
while (scanner.hasNextLine()) {
String[] arr = scanner.nextLine().split(",");
for (String item : arr) {
list.add(new String[] { item });
}
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
String[][] ar = list.toArray(String[][]::new);
System.out.println(Arrays.deepToString(ar[0]));

打印

[A6]

我不能让它像这样打印每个值:

A6

这是文本文件:

A6,A7
F2,F3
F6,G6

您的数组设置不正确。

你说你想要一个二维数组。二维数组是这样的

[ <--- this line is the beginning of the outer array
[A6, A7], <--- this line is the entirety of the first inner array
[F2, F3], <--- this line is the entirety of the second inner array
[F6, G6]  <--- this line is the entirety of the third inner array (no comma)
] <--- this line is the end of the outer array

但是你的数组是这样的

[
[A6],
[A7],
[F2],
[F3],
[F4],
[F6],
[G6]
]

从技术上讲,上面也是一个二维数组。但这几乎肯定不是你想要的。

如果是这样的话,那么这三行会给你带来麻烦。

for (String item : arr) {
list.add(new String[] { item });
}

这个for循环不是必需的。把那个for循环替换成这个

list.add(arr);

编辑-在阅读了其他评论之后,我听到你的意思是在每个内部数组中有一个元素的可能性。就像前面提到的其他评论一样,这没有多大意义,但是如果这真的是你想要的,那么就拿你的旧程序,然后把System.out.println(a[0][0])作为程序的最后一行来完成这个任务。

相关内容

  • 没有找到相关文章

最新更新