我重新做一个练习考试,我几乎完成了它。我唯一的问题是这部分:
int z=0,x=0;
String line="";
RandomAccessFile read = new RandomAccessFile(s, "rw");
while((read.readLine())!=null)
z++;
read.seek(0);
while(x<z){
line=read.readLine();
StringTokenizer stk = new StringTokenizer(line, " ");
if(line.charAt(0)=='r'){
nr=z;
nc=stk.countTokens()-1;
valori = new int[nr][nc];
while(stk.hasMoreTokens()){
stk.nextToken();
for(int i=0; i<nr; i++)
for(int j=0; j<nc; j++)
valori[i][j] = Integer.parseInt(stk.nextToken());}
}
else if(line.charAt(0)=='c'){
nr=stk.countTokens()-1;
nc=z;
valori = new int[nr][nc];
while(stk.hasMoreTokens()){
stk.nextToken();
for(int i=0; i<nr; i++)
for(int j=0; j<nc-1; j++)
valori[j][i] = Integer.parseInt(stk.nextToken());}
}x++;
基本上我必须阅读一个文件,其中我有一个矩阵的描述如下:
c 0 1 0
c 0 0 1
c 0 0 0
c 1 0 0
结果矩阵将是
|0|0|0|1|
|1|0|0|0|
|0|1|0|0|
阅读文件后,我必须使用 2d int 数组构建矩阵,我使用了另一个练习中的相同代码,但是当使用 stk.nextToken() 时,我在 java.util.StringTokenizer.nextToken(Unknown Source) 处得到 java.util.NoSuchElementException )
我找不到错误,二维数组已正确初始化和填充。
提前感谢您的帮助。