У меня есть задача, но я не знаю, с чего начать. Если кто-то знает, пришлите мне ссылки на некоторые сообщения. У меня есть минимальный класс Java, где мне нужно обновить метод «заполнить», так что он работает в соответствии со следующим описанием:Как запустить алгоритм заполнения заполнителя
притворитесь, что вы работаете в MS Paint, или аналогичный графику приложения. Ваша задача - реализовать инструмент заполнения ковша. Более конкретно, учитывая двумерную сетку, позицию (X, Y), на которую пользователь нажал, и цвет, разработают алгоритм, который можно использовать для заполнения соответствующей части сетки.
Алгоритм заполнения ковша должен «рисовать» все пиксели, которые связаны с пикселем, на который пользователь нажал, вплоть до границ, на которых изменяется цвет. Например, если пользователь нажимает на белый пиксель и задает зеленый цвет, инструмент заполнения ковша превратит все касание белых пикселей в зеленые пиксели. Однако это не повлияет на белые пиксели, которые находятся в полностью отдельной части изображения.
Минимальный класс Java:
class BucketFill {
private char[][] pixels;
public BucketFill(char[][] pixels) {
this.pixels = pixels;
}
public void fill(int x, int y, char color) {
// TODO: make this method work
}
public void inspect() {
for (int y = 0; y < pixels.length; y++) {
for (int x = 0; x < pixels[y].length; x++) {
System.out.print(pixels[y][x]);
}
System.out.print("\n");
}
}
public static void main(String argv[]) {
char pixels[][] =
{
{ 'O', 'X', 'X', 'X', 'X' },
{ 'X', 'O', 'O', 'O', 'X' },
{ 'X', 'O', '#', 'O', 'X' },
{ 'X', 'O', 'O', 'O', 'X' },
{ 'X', 'X', 'X', 'X', 'X' },
{ 'X', 'X', 'X', '#', '#' },
{ 'X', 'X', 'X', 'X', 'X' }
};
BucketFill bucketFill = new BucketFill(pixels);
bucketFill.fill(0, 0, '*');
bucketFill.fill(3, 0, 'O');
bucketFill.fill(2, 1, '@');
bucketFill.inspect();
}
}
Во-первых, я должен сказать, что вам нужен лучший заголовок для вашего вопроса. Также, пожалуйста, покажите свою СОБСТВЕННУЮ работу, что вы сделали? какая у тебя идея? Даже идея глупа, никто не заботится. Пока вы пытаетесь решить проблему самостоятельно. Вернемся к вопросу, попробуйте Google fill fill fill. Это займет у вас 5 минут. –
Вы можете начать с [здесь] (http://docs.oracle.com/javase/tutorial/). Следующий шаг - поставить ** любой код **, показывающий, что вы пытались. Тогда мы можем помочь! :) – cno
Попытаться решить проблему, по крайней мере. Заполнение одного элемента совсем не сложно, и вы даже этого не продемонстрировали. – Compass