2015-02-09 54 views
-1

我有一个名为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更改这些值。

+1

后的完整和详细的错误信息的错误两个不同的变量,并告诉我们whichline它是指至。 – 2015-02-09 19:52:57

+0

因为'p.add()'不存在,所以不能像你这样做。它在'ImageProcessor'类中。在我看来,你必须对位置或签名进行更改。 – ChiefTwoPencils 2015-02-09 19:55:14

+0

我的歉意。具体来说,错误在第16行中说明。“p.add(5)”。它说“错误:找不到符号”。 – Quinty 2015-02-09 23:21:34

回答

0

我假设您上面包含的add()方法在您的类Pic中。 您声明具有相同名称

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

编译器给你,因为它没有找到add()方法Pixel

相关问题