ошибка с несовместимым cannot конвертировать в bolean и в операторе &&

package buscaminas;

public class MatrizMinas {

    //atributos
    private int valores[][];

    //constructor

    public MatrizMinas(){
        valores = new int [10][10];
        limpiarMinas();
    }
    //limpiar la pantalla
    public void limpiarMinas(){

        for (int m = 0; m < 10; m++){
            for (int n = 0; n < 10; n++){
                valores[m][n] = 0;

            }
        }
    }

    //insertar aleatoriamente las minas 
    public void ponerMinas(){
        limpiarMinas();

        int m;
        int n;

        for (int i = 0; i < 10; i++){
            do{
                m = (int) (Math.random() * 10) ;
                n = (int) (Math.random() * 10) ;
            ***}while (valores[m][n] ! = 0);***
            valores [m][n] = 9;
        }


    }

    //devolver el valor de la casilla 
    public int getMina (int m, int n){
        return valores [m][n];
    }

    //calcular contorno de la mina
    public void calcularContornos(){
        for (int m = 0; m < 10; m++){
            for (int n = 0; n < 10; n++){
                if (valores[m][n] = 9){
                    for (int m2 = m - 1; m2 <= m + 1; m2++){
                        for (int n2 = n - 1; n2 <= n + 1; n2++){
                            ***if (m2 >=0 && m2 < 10 && n2 >= 0 && n2 < 10 && valores [m][n]){***
                                valores[m2][n2]++;
                            }
                        }
                    }
                }
            }
        }
    }
}
0
задан 24.09.2018, 00:28
2 ответа

В конце твоего if ты помещаешь стоимость [м] [n], что целое число, не booleano поэтому - твоя ошибка.

declarГі:

private int valores [][];
valores = new int [10] [10];

, Что массив целых чисел, а следовательно в тебе cГіdigo ты помещаешь в конце if следующее

if (m2 >=0 
    && m2 < 10 
    && n2 >= 0 
    && n2 < 10
    && valores [m][n]){// aquí está tu error valores como explicó arriba es un entero no un booleano
    //Logica
}
0
ответ дан 20.11.2019, 05:04
  • 1
    у меня не остается ясным твой solució n ты мог объяснять ее лучше? –  23.09.2018, 21:00

У тебя есть две проблемы синтаксиса; первый их, и что ты вставляешь в рамку в вопросе:

if (m2 >=0 && m2 < 10 && n2 >= 0 && n2 < 10 && valores [m][n] ??)

Операторы l'ogicos работают на стоимости booleanos, в valores [m][n] ты возвращаешь целое число, должен сравнивать это с чем-то. Другая ошибка, которая у тебя есть, - в do while в ponerMinas, ней condiciГіn остановки цикла while (valores[m][n] ! = 0), comparador != не должен приносить место между sГ, - оставаясь:

while (valores[m][n] != 0)
2
ответ дан 20.11.2019, 05:04

Теги

Похожие вопросы