如何调用实例以便我可以测试我的方法?

时间:2015-02-09 19:48:38

标签: java pixel pixel-manipulation

我有一个名为ImageProcessor的类,它有一个名为pic的构造函数。我的大多数函数都是在另一个名为pic.class的类中为我定义的。我想通过add方法添加像素的红色,绿色和蓝色值。当我尝试调用此方法时,我收到一条错误,指出“找不到符号”。鉴于我无法调用它,我究竟如何正确创建实例,以便我可以适当地调用我的add函数。

/* Put your ImageProcessor class here */
import java.lang.String;
import java.lang.Math;
public class ImageProcessor {
    public String imageName;
    Pic p = new Pic(imageName);
    Pixel[][] picList = p.getPixels();
    int height = p.getHeight();
    int width = p.getWidth();
public static void main(String[] args){
        Pic current = new Pic("legoguy.png");
        Pixel[][] pics = current.getPixels();
        for(int a = 0; a < 1 ; a++) {
            int b = 0;
            Pixel p = pics[a][b];
            System.out.println(p.add(5));

        }
    }
//add function//
    public void add(int increment) {
        /////////////////////////////////////
        for(int x = 0 ; x < width - 1 ; x++){
            for(int y = 0; y < height - 1 ; y++){
                Pixel c = picList[x][y];
                int r = c.getRed();
                int g = c.getGreen();
                int b = c.getBlue();
                c.setRed(r + increment);
                checkPix(r + increment);
                c.setBlue(b + increment);
                checkPix(b + increment);
                c.setGreen(g + increment);
                checkPix(g + increment);
            }
        }
    }

进一步说明:checkPix只是确保值在0到255之间.pic构造函数遵循以下模式:Pic(java.lang.String imageName)。 getRed / b / g是我在像素类中定义的函数,它只返回值,而setRed / b / g则更改这些值。

1 个答案:

答案 0 :(得分:0)

我假设您上面包含的add()方法在您的班级Pic中。 您声明了两个具有相同名称的不同变量

Pic p = new Pic(imageName);
Pixel p = pics[a][b];

编译器给出了错误,因为它没有在add()类中找到Pixel方法