В это й строке: int index_robo = Arrays.binarySearch(field[i], robotank); , индекс роботанка в нулевой строке -31, что говорить о том, что он его не нашел. Поэтому и код дальше не выполняется. Но роботанк есть, первое задание я выполнила. Не понимаю в чем проблема, почему он его не видит?
package com.javarush.task.pro.task05.task0529;
import java.util.Arrays;
/*
Галаксианские роботанки (1)
*/
public class Solution {
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) {
for (int i = 0; i < field.length; i++){
Arrays.fill(field[i], empty);
int x = (int) (Math.random() * 10);
field[i][x] = robotank;
for (int j = 0; j < field[i].length; j++){
System.out.print(field[i][j]);
}
System.out.println();
}
for (int i = 0; i < bombs.length; i++){
Arrays.fill(bombs[i], 0, 10, 1);
Arrays.fill(bombs[i], 10,30,0);
System.out.print(Arrays.toString(bombs[i]));
}System.out.println();
for (int i = 0; i < field.length; i++){
int index_robo = Arrays.binarySearch(field[i], robotank); // находим индекс где стоит робот
int bomb_in = bombs[i][index_robo]; // записываем значение из масива с бомбами на том месте где стоит роботанк
if (bomb_in == 1){
field[i][index_robo] = hit; // если значение в этом метсе 1, то меняем на попадание
System.out.print(Arrays.toString(field[i]));
}
System.out.println();
}
}
}