我需要编写一个Java程序,向n个储物柜显示每个学生的储物柜(用户输入n)。我很难编写在每个步骤都显示储物柜的方法。我需要为此使用数组。以下是输出的样子:
示例(对于n = 10):
oooooooooo
oxoxoxoxox
oxxxoxoxxx
....等等
'O'用于打开。 'X'用于关闭。
这是我到目前为止编写的方法(我省略了主要方法以使其简短):
public static char[][] showstages(int n){
char[] lockers = new char[n];
char[][] arrayLockers = new char[n][];
for (int i = 0; i < n; i++) {
lockers[i] = 'O';
}
for (int i = 0; i<1;i++){
arrayLockers[i] = lockers;
}
for(int i = 2; i<=n; i++){
for(int z = 1; z<n; z++){
for (int w = i-1; w <= n; w += i){
lockers[w] = 'X';
}
arrayLockers[z] = lockers;
}
}
return arrayLockers;
}
上面的代码说明:
for (int w = i-1; w <= n; w += i)
。因此,对于学生2,他/她更改了与索引1、3、5、7,...相对应的储物柜2、4、6、8,... return arraylockers
。 在main方法中运行此命令时得到的输出如下:
[[C@ce9117
这显然是不正确的,所以我将不胜感激。
谢谢