Java Can';t达到第3和第4个内部环路 publicstaticcolor[]blur(inta,Color[]array){ System.out.println(“此处”); 对于(inti=0;i

Java Can';t达到第3和第4个内部环路 publicstaticcolor[]blur(inta,Color[]array){ System.out.println(“此处”); 对于(inti=0;i,java,arrays,image-processing,kernel,blur,Java,Arrays,Image Processing,Kernel,Blur,,此循环从不执行任何操作 public static Color[][] blur(int a, Color[][] array){ System.out.println("here"); for(int i=0; i<array.length; i++){ for(int j=0; j<array[0].length; j++){ int rsum = 0; int gsum =0;

,此循环从不执行任何操作

public static Color[][] blur(int a, Color[][] array){

    System.out.println("here");

    for(int i=0; i<array.length; i++){
        for(int j=0; j<array[0].length; j++){

            int rsum = 0;
            int gsum =0;
            int bsum = 0;

            for(int x= i+ 1; x<= i- 1; x++){
                for(int y= j+1; y<= j- 1; y++){

                    if(x >= 0 && x< array.length && y>= 0 && y<array[0].length) {

                        System.out.println("hola");

                        int r = array[x][y].getRed();
                        rsum = rsum + r;

                        int g = array[x][y].getGreen();
                        gsum = gsum + g;

                        int b = array[x][y].getBlue();
                        bsum = bsum + b;

                    }
                }
            }

            int ravg = rsum/a;
            int gavg = gsum/a;
            int bavg = bsum/a;

            array[i][j] = new Color(ravg, gavg, bavg);
        }
    }

    return array;
}

你从
i+1
开始
x
,只要
x
小于或等于
i-1
i-1
小于
i+1
,你的初始状态就不符合进入循环的条件。同样的问题存在于
y
循环中。哦,对不起,这个问题太傻了。非常感谢!
for(int x= i+ 1; x<= i- 1; x++){
for (int x= i - 1; x <= i + 1; x++) {
for (int x= i + 1; x >= i - 1; x--) {