如何调用实例,以便测试我的方法?
问题描述:
我有一个名为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构造之间遵循以下模式:照片(java.lang.String中imageName)。 getRed/b/g是我在一个只返回值的像素类中定义的函数,而setRed/b/g更改这些值。
答
我假设您上面包含的add()
方法在您的类Pic
中。 您声明具有相同名称
Pic p = new Pic(imageName);
Pixel p = pics[a][b];
编译器给你,因为它没有找到add()
方法Pixel
类
后的完整和详细的错误信息的错误两个不同的变量,并告诉我们whichline它是指至。 – 2015-02-09 19:52:57
因为'p.add()'不存在,所以不能像你这样做。它在'ImageProcessor'类中。在我看来,你必须对位置或签名进行更改。 – ChiefTwoPencils 2015-02-09 19:55:14
我的歉意。具体来说,错误在第16行中说明。“p.add(5)”。它说“错误:找不到符号”。 – Quinty 2015-02-09 23:21:34