0

数値の配列があり、位置「インデックス」から値の 1 つを取得したいと考えています。Java ドキュメントhttp://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Array.htmlを見てきましたが、私のコードはまだコンパイルされていません。

ここに私の方法があります:

public class ConvexPolygon implements Shape
{
    java.awt.Point[] vertices;

    public ConvexPolygon(java.awt.Point[] vertices) 
    {
        this.vertices = vertices;
        this.color = color;
        this.filled = filled;
    }

java.awt.Point getVertex(int index)
{  
    Point vertex;
    vertex =  get(Point vertices, int index);  
}

ポイントを表す配列に数字があります。値のインデックスは、配列 verities の場所になります。これを機能させるにはどうすればよいですか?ありがとう !

4

3 に答える 3

3

Java では、配列インデックスは角括弧で示されます。get(vertices, index) 呼び出しを次のように置き換えることができます。

  vertex = vertices[index];

あなたのコードを見ると、そのような操作のためにグローバルな get() 関数を定義する言語から来ているようです。Java にはグローバル関数がないことに注意してください。作成する各クラスは独自の関数を定義し、前にオブジェクトまたはクラスがない関数呼び出しは、ローカル クラスで定義されていると見なされます。

したがって、 get(Point[], int) への呼び出しは、このクラスでその関数を定義した場合にのみ機能します。

  public Point get(Point[] vertices, int index) {
     return vertices[index];
  }

または、別のクラスで静的に定義し、呼び出しの前にクラス名を付けます。

public class PointArrayHelper {

  public static Point get(Point[] vertices, int index) {
    return vertices[index];
  }
}

PointArrayHelper.get(vertices, index);

さて、私はあなたがこれらのどちらもすべきではないと思うことに注意してください! Java をもう少し理解するのに役立つかもしれないと思っただけです。

于 2010-01-27T20:47:49.150 に答える
3

私はあなたが探しているだけだと思います:

 Point vertex = vertices[index];

少なくとも-それを探していない場合は、配列インデックスの使用と必要ものの違いを詳しく説明してください:)

于 2010-01-27T20:39:16.813 に答える
1

それがうまくいくことを願っています!

java.awt.Point getVertex(int index)
{  
    return vertices[index];
}
于 2010-01-27T20:47:05.640 に答える