Привет, так что в основном я пытаюсь сделать версию тральщика для начинающих, но я немного застрял. Я могу добраться до стадии, когда у меня есть двумерный массив символов, в то время как «*» означает мой, а ^ нет. Часть, в которой я застрял, меняет '^' на количество мин, окружающих его, и мой код возвращает 2d массив, но вместо цифр я получаю странные знаки вопроса.
мои функции.
static char[][] calculatemines(char[][] h) {
int height = h.length;
int width = h[0].length;
char[][] newh = new char[height][width];
for (int i = 0; i < newh.length; i++) {
for (int j = 0; j < newh[0].length; j++) {
if(h[i][j]=='*') {
newh[i][j]='*';
} else
newh[i][j]= (char) numberofmines(h,height,width);
}
}
return newh;
}
и это вторая функция
private static int numberofmines(char[][] f, int height, int width) {
int numberofmines = 0;
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
int iStart = Math.max(0, i - 1);
int iEnd = Math.min(height, i + 1);
int jStart = Math.max(0, j - 1);
int jEnd = Math.min(width, j + 1);
for (int squareI = iStart; squareI < iEnd; squareI++) {
for (int squareJ = jStart; squareJ < jEnd; squareJ++) {
if (f[squareI][squareJ] == '*') {
numberofmines++;
}
}
}
}
}
return numberofmines;
}
Спасибо за помощь:)