2017-12-18 20 views
-3

だから、最初、私はこのクラスを持っている:"方法を解決できません"を修正するにはどうすればよいですか?

public float getPixel(int height, int width) 
{ 
    return data[height][width]; 
} 

public void setPixel(float value, int height, int width) 
{ 
    if (value > getMax()) 
    value = getMax(); 
    if (value < 0) 
    value = 0; 
    data[height][width] = value; 
} 

private Image(String magicNumber, int height, int width, float max) { 
    this.magicNumber = magicNumber; 
    this.width = width; 
    this.height = height; 
    this.max = max; 
    data = new float[height][width]; 
} 
... 
public Image clone() 
{ 
    Image clone = new Image(getMagicNumber(), getHeight(), getWidth(), getMax()); 
    for (int i = 0; i < getHeight(); i++) 
    { 
    for (int j = 0; j < getWidth(); j++) 
    { 
     clone.setPixel(getPixel(i, j), i, j); 
    } 
    } 
    return clone; 
} 

そして、このクラス:

public class Filter { 

    public Filter() { 

    } 

    public Image linearFilter(Image image, float[][] kernel) 
    { 
     Image filtered = image.clone(); 
     for (int i = 0; i < getHeight(); i++) 
     { /* cannot resolve getHeight*/ 
      ... 
     } 
     return filtered; 
    } 
} 

私は2つの質問があります。

1)なぜ私はインスタンスを作成する必要はありませんありません。画像のクラス。ここでは既にfiltered.setPixelsを使用しています...

2)「方法を解決できません」という問題を解決するにはどうすればよいですか?

+3

存在しないメソッドを呼び出さないでください。おそらく 'image.getHeight(...)'を呼び出すことを意味しますか?このコードが何をすべきかわからないので、伝えにくいです。イメージは 'java.awt.Image'ですか? –

+0

(1) 'Image'のインスタンスを作成します。 'image.clone()'はどうしていると思いますか? (2)メソッドを呼び出すときに、呼び出すオブジェクトを指定する必要があります。ここでは、Hovercraft氏のアドバイスに従って、 'image.getHeight()'と書いておきたいと思うでしょう。 –

+0

@DawoodibnKareem、明確化: 'java.Ht.Image'インタフェースである場合、' getHeight() 'メソッドはありません。代わりに 'getHeight(ImageObserver observer)'メソッドを使わなければなりません。よろしいですか? –

答えて

-1

あなたが投稿した最初のスニペットはクラス全体ではなく、むしろその一部であるように見えるので、あなたの投稿から実際には分かりません。 Imageクラスがあると仮定し、そのImageクラスにはgetHeight()というメソッドがあります。ループの条件for (int i = 0; i < getHeight(); i++)インサイド

getHeight()Imageクラスの内部方法であり、filteredは(おそらく)タイプImageのであるから、あなたが最も可能性の高いfiltered.getHeight()getHeight()を変更したいと思います。

+0

はい、私は 'Image'クラスを持っていて、そのクラスは' getHeight() 'メソッドを持っています(これは最初のスニペットでした)。 'linear' Filters'メソッドの内部で' Filter'クラスのインスタンスをどのように作成しているのかをよく理解しています: 'Image filtered = image.clone()'は何ですか? do Image Filed = new Image() 'インスタンスを作成するために...私は理解していません... – vmw8

+0

@ vmw8' clone'の定義は何ですか? – csmckelvey

関連する問題