2d массивы и для петель (APCSA) - PullRequest
0 голосов
/ 17 января 2019

Я должен определить, является ли указанное место ярким пятном. Пятно считается светлым, если выполняются все три следующих условия:

1) Красное значение пикселя в указанном месте больше (! =) Всех (8 возможных?) Окружающих пикселей.

2) Значение синего цвета пикселя в указанном месте меньше (! =) Всех (8 возможных?) Окружающих пикселей.

3) Значение зеленого цвета пикселя в указанном месте больше (! =) Среднего (зеленого) всех (8 возможных?) Окружающих пикселей.

Я пытался использовать этот код для решения проблемы.

public boolean isBrightSpot(int r, int c)
    {
        //    add code here

        int minRow=Math.max(0,r-1);
        int maxRow=Math.min(getNumRows(),r+2);
        int minCol=Math.max(0,c-1);
        int maxCol=Math.min(getNumCols(),c+2);

        for (int row=minRow; row< maxRow; r++)
        {
            for (int col=minCol; col<maxCol; c++)
            {

                if (monitor[r][c].getRed()>monitor[row][col].getRed()){

                    if (monitor[r][c].getBlue()<monitor[row][col].getBlue()){
                        int average=0;
                        int counter=0;
                        int sum = 0;
                        for (int row1=minRow; row1< maxRow; r++)
                        {
                            for (int col1=minCol; col1<maxCol; c++)
                            {
                                sum = sum+monitor[row1][col1].getGreen();
                                counter++;
                            }
                        }
                        average= sum/counter;
                        if (monitor[r][c].getGreen()>average)
                            return true;

                    }

               }

            }    
        }
        return false;
    }
}

Тестеру требуются бесконечные тесты, и в итоге он говорит «ВМ перезапущен».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...