【发布时间】:2021-09-29 16:08:42
【问题描述】:
文本文件(二维8.txt)。第一行是用','分隔的行和列
4,6
1,2,3,4,5,6
23,55,34,89,41,72
9,27,19,56,33,82
3,65,21,66,85,11
到目前为止我的代码。 使用 TextFileInput 类读取文件
import java.util.*;
public class Tokens {
public static TextFileInput myFile;
public static StringTokenizer myTokens;
public static int[][] twodimarr;
public static String line;
public static void main(String[] args) {
myFile = new TextFileInput("twodimension8.txt");
line = myFile.readLine();
System.out.println("The input line is "+line);
myTokens = new StringTokenizer(line,",");
int row = Integer.parseInt(myTokens.nextToken());
int col = Integer.parseInt(myTokens.nextToken());
twodimarr = new int[row][col];
for (int i = 0; i < row; i++) {
line = myFile.readLine();
for (int j = 0; j < col; j++) {
myTokens = new StringTokenizer(line, ",");
twodimarr[i][j] = Integer.parseInt(myTokens.nextToken());
}
}
for (int i=0; i<row; i++) {
for (int j=0; j<col;j++)
System.out.print(twodimarr[i][j]);
System.out.println();
}
} //main
}
输出:
111111
232323232323
999999
333333
问题似乎出在 for 循环中,它试图将其添加到二维数组中。我不确定如何解决这个问题。
【问题讨论】:
-
StringTokenizer不推荐。这里当然不需要。还要避免添加很少或没有添加的第 3 方课程。Scanner在这里使用起来非常简单 -
是的,我听说不推荐使用 StringTokenizer,但这是我的教授告诉我们使用的。
-
令人担忧的迹象表明他的教材已经过时了多年
标签: java multidimensional-array tokenize