我正在做一个作业,我们必须从文件中获取字符并将其存储在二维数组中。我们不允许在任何地方发布我们的代码,所以我将使用伪代码。如果不清楚,请告诉我。
fillFromFile (parameters){
Scanner input = new Scanner(new FileReader(fileName));//from parameter
char[][] returnChar = new char[parm][parm];//gotten from parameters
String line = input.nextLine();
String[] spliter = null;
int count = 0;
while (input.hasNextLine and count < row) {
line = input.nextLine();
spliter = line.split(" ", 2);
count++;
for (int i = 0; to returncharLength; increment i) {
for (int j = 0; to returnchar[i]Length; increment j) {
returnChar[i][j] = spliter[0].charAt(j);
}
}
}
return returnChar;
}
如果我直接从方法中打印出来,则会显示正确的值,但我们无法从方法中打印。已经有一个 toString() 方法可以处理这个问题。
返回的二维数组只是最后一个字符。例如,如果这是预期值,
r e
r e
o p
b n
这就是返回的内容
b n
b n
b n
b n
我尝试过在返回之前和之后进行深度复制,但没有区别。我的深复制方法如下所示:
private static char[][] deepCopy (char [][] data){
char [][] newArray = new char [//][//];
for (int i = 0; i < length i++) {
for (int j = 0; j < colLength; j++) {
newArray[i][j] = data[i][j];
}
}
return newArray;
}
我认为 while 循环在退出之前会覆盖所有数据。我怎样才能解决这个问题 ?
如果有不清楚的地方,请告诉我,我会编辑我的问题。
我还尝试在方法的不同部分返回二维数组
这是我如何使用返回的二维数组的示例
变量X = new ClassName (2dArrayThatWasReturned); 返回变量X;
->variableX 是 ClassName 类型,构造函数接受一个二维数组 ->传递的二维数组将把它的值分配给实例二维数组。实例二维数组是打印的数组
海绵宝宝撒
慕无忌1623718
相关分类