У меня есть массив 2D-символов, который мне нужно заполнить цветовыми кодами для создания синтетических изображений с шаблонами. Массив заполнен нулями, которые в конечном итоге возвращают черное изображение, если они запускаются через отдельную программу. Мне нужно заполнить массив по диагонали (в этом направлении) с помощью (char) 255 (цветовой код, который представляет белый цвет в этой отдельной программе). Это создаст изображение с чередующимися черными и белыми линиями, которые диагональны по направлению. Мне нужно использовать цикл вложенности для выполнения этого, но я не уверен, как установить (char) 255 на разные элементы в 2D-массиве по диагонали. Меня это смущает. Пожалуйста помоги.Как заполнить 2D-массив по диагонали
здесь является 2D массив:
(0,0) (0,1) (0,2) (0,3) (0,4)
(1,0) (1 , 1) (1,2) (1,3) (1,4)
(2,0) (2,1) (2,2) (2,3) (2,4)
(3,0) (3,1) (3,2) (3,3) (3,4)
(4,0) (4,1) (4,2) (4,3) (4,4)
элементами в массиве, которые должны быть назначены (char) 255, являются (4,0), (2,0) (3,1) (4,2), (0,0) (1,1) (2 , 2) (3,3) (4,4), (0,2) (1,3) (2,4) и (0,4).
Вот код, который я сделал для горизонтальной линии, если это помогает понять мою проблему:
public static char[][] createVerticalStripes(int height, int width, int stripeWidth) {
// Declaring array for this method
char[][] image = new char[height][width];
for (int rows = 0; rows < height; ++rows) {
for (int columns = 0; columns < width; ++columns) {
if (columns % stripeWidth == 0) {
image[rows][columns] = (char) 255;
}
}
}
return image;
}
Что именно ваша проблема? Вы не знаете, как назначить значение элементу массива? – talex
Ну, что означает * по диагонали * означает? Объясните это мне по-английски. Если вам это удастся, включение его в код не должно быть затруднительным. – Gendarme