如何调用实例以便测试我的方法?
How do I call an instance so I can test my method?
我有一个名为 ImageProcessor 的 class,它有一个名为 pic 的构造函数。我的大部分功能已在另一个名为 pic.class 的 class 中为我定义。我想通过我的添加方法添加像素的红色、绿色和蓝色值。当我尝试调用此方法时,我收到一条错误消息 "symbol not found"。鉴于我无法调用它,我究竟该如何正确创建一个实例,以便我可以适当地调用我的添加函数。
/* 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 是我在像素 class 中定义的函数,它只是 return 值,而 setRed/b/g 更改这些值。
我假设您上面包含的 add()
方法在您的 class Pic
中。
您声明了两个同名的不同变量
Pic p = new Pic(imageName);
Pixel p = pics[a][b];
编译器给出错误是因为它没有在 Pixel
class
中找到 add()
方法
我有一个名为 ImageProcessor 的 class,它有一个名为 pic 的构造函数。我的大部分功能已在另一个名为 pic.class 的 class 中为我定义。我想通过我的添加方法添加像素的红色、绿色和蓝色值。当我尝试调用此方法时,我收到一条错误消息 "symbol not found"。鉴于我无法调用它,我究竟该如何正确创建一个实例,以便我可以适当地调用我的添加函数。
/* 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 是我在像素 class 中定义的函数,它只是 return 值,而 setRed/b/g 更改这些值。
我假设您上面包含的 add()
方法在您的 class Pic
中。
您声明了两个同名的不同变量
Pic p = new Pic(imageName);
Pixel p = pics[a][b];
编译器给出错误是因为它没有在 Pixel
class
add()
方法