2015-02-09 38 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

相關問題