Java-参数未按预期传递到函数中

Java-参数未按预期传递到函数中,java,function,parameters,rgb,Java,Function,Parameters,Rgb,我正在尝试运行一个方法rgbScore(),该方法传入以前方法中的参数,以计算图像两个像素之间的差值。我希望结果是两个像素之间的差异,但我得到的是(0,0,0) 我在类的顶部声明了变量,如下所示: public int filteredred; public int filteredgreen; public int filteredblue; public int originalred; public int originalgreen; public int originalblue;

我正在尝试运行一个方法rgbScore(),该方法传入以前方法中的参数,以计算图像两个像素之间的差值。我希望结果是两个像素之间的差异,但我得到的是(0,0,0)

我在类的顶部声明了变量,如下所示:

public int filteredred; public int filteredgreen; public int filteredblue;
public int originalred; public int originalgreen; public int originalblue;
<附加信息>

filteredrgbValue()

原始RGB值()


看起来您从未初始化过变量,只是声明了变量。
int的defualt VAL为0,在您不初始化VAR之前,它将具有默认VAL。

您正在方法中创建新变量,这些变量隐藏了您的成员变量。删除类型声明,例如:

public String filteredrgbValue(){ 
        BufferedImage filtered = filteredImage;

        Color filteredRGBValue = new Color(filtered.getRGB(125, 125));

        // you are declaring new variables here, hiding your member variables...
        //int filteredred = filteredRGBValue.getRed();
        //int filteredgreen = filteredRGBValue.getGreen();
        //int filteredblue = filteredRGBValue.getBlue();

        filteredred = filteredRGBValue.getRed();
        filteredgreen = filteredRGBValue.getGreen();
        filteredblue = filteredRGBValue.getBlue();

        return fRGBValue = "(" + filteredred + "," + filteredgreen + "," + filteredblue + ")";        
    }

您是否为
int
声明赋值?考虑写一个说明问题的方法。记住,我没有给变量赋值,因为我想让它们使用函数中生成的值?我怎样才能越过这个障碍?谢谢!我需要在哪里初始化它们?它看起来会像这样吗<代码>filteredred=filteredred。。。如果是,我会把它放在哪里?这是什么方法?filteredrgbValue();原始RGB值();初始化是给这些变量赋值。。这些方法正在进行初始化吗?
filteredrgbValue()
从过滤后的图像和
原始RGB值()中获取RGB值从原始图像获取RGB值。它们都返回RGB值。我想减去R,G,B通道得到一个新的R,G,B值…..这是两个函数>>@eamuldowne请用附加代码编辑您的帖子。不要发布代码的图片链接。非常感谢!修正了!:-)@如果你的问题解决了,请考虑将答案标记为正确的解决方案。
public int filteredred; public int filteredgreen; public int filteredblue;
public int originalred; public int originalgreen; public int originalblue;
public String filteredrgbValue(){ 
        BufferedImage filtered = filteredImage;

        Color filteredRGBValue = new Color(filtered.getRGB(125, 125));

        int filteredred = filteredRGBValue.getRed();
        int filteredgreen = filteredRGBValue.getGreen();
        int filteredblue = filteredRGBValue.getBlue();

        return fRGBValue = "(" + filteredred + "," + filteredgreen + "," + filteredblue + ")";        

    }
public String originalrgbValue(){
        BufferedImage original = unfilteredImage;

        Color originalRGBValue = new Color(original.getRGB(125, 125));

        int originalred = originalRGBValue.getRed();
        int originalgreen = originalRGBValue.getGreen();
        int originalblue = originalRGBValue.getBlue();

        return oRGBValue = "(" + originalred + "," + originalgreen + "," + originalblue + ")";     

    }
public String filteredrgbValue(){ 
        BufferedImage filtered = filteredImage;

        Color filteredRGBValue = new Color(filtered.getRGB(125, 125));

        // you are declaring new variables here, hiding your member variables...
        //int filteredred = filteredRGBValue.getRed();
        //int filteredgreen = filteredRGBValue.getGreen();
        //int filteredblue = filteredRGBValue.getBlue();

        filteredred = filteredRGBValue.getRed();
        filteredgreen = filteredRGBValue.getGreen();
        filteredblue = filteredRGBValue.getBlue();

        return fRGBValue = "(" + filteredred + "," + filteredgreen + "," + filteredblue + ")";        
    }