Не понимаю в чём ошибка. Или её вообще нет и это какой-то баг джавы. Проверял дебагером в IDEA. Если по строчно смотреть, то значению check присваивается true, если бомба не попадает, но если взять и сделать step out или просто запустить программу, она не присвоит значение false, если не попал. Попробуйте, кто-нибудь сами запустите этот код. Просто я делал по заданию, в котором сказано, что нужно заполнить массив field, заполнить массив bombs, а уже потом делать проверку и если не упали бомбы, то по новой перезаполнить массив bombs, в итоге для которого я сделал отдельный метод Reload. Баганную часто кода пометил "/////////////////// ".
public class Car {
    public static String robotank = "☖";
    public static String empty = "_";
    public static String hit = "🎯";
    public static int width = 30;
    public static int height = 10;
    public static String[][] field = new String[height][width];
    public static int[][] bombs = new int[height][width];
    public static void main(String[] args) {
        //заполняем массив bombs с помощью цикла
        // for each и цикла while
        Reload();

        //Заполняем массив field
        for (String[] strings : field) {
            Arrays.fill(strings, empty);
            strings[(int) (Math.random() * width)] = robotank;
        }

        boolean check = false;
        for (int i = 0; i < field.length; i++) {
            for (int j = 0; j < field[i].length; j++) {
                if (field[i][j].equals(robotank) && bombs[i][j] == 1)
                    field[i][j] = hit;
 ///////////////////   if (field[i][j].equals(robotank)) { ///////////////////
///////////////////   check = true; ///////////////////
                }
            }
            if (i != field.length-1)
                continue;
            if (check) {
                Reload();
                i = 0;
                check = false;
            }

        }
        //Выводим  итоговый массив field
        for (String[] array2d : field) {
            for (String array : array2d) {
                System.out.print(array);
            }
            System.out.println();
        }
    }
    public static void Reload() {
        for (int[] row1 : bombs) {
            Arrays.fill(row1, 0);
            int i = 0;
            while (i < 10) {
                int bomb = (int) (Math.random() * 30);
                if (row1[bomb] == 1)
                    continue;
                else row1[bomb] = 1;
                i++;
            }
        }
    }
}