Javaは:定義された場所からの配列から値を取得します
質問
私は数字の配列を持っていると場所「インデックス」のいずれかの値を取得したいと思います。 私は、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);
}
私はポイントを表す配列の中の数字を持っています。値のインデックスは、アレイの真理の位置になるだろう。 私はこの仕事をするために何ができますか?ありがとう!
解決
はJavaでは、配列のインデックスは、角括弧で示されています。あなたがそうのようなあなたのget(頂点、インデックス)の呼び出しを置き換えることができます:
vertex = vertices[index];
あなたのコードを見ると、それはあなたがそのような操作のためのグローバルGET()関数を定義言語から来て表示されます。 Javaでは、グローバルな関数が存在しない、ということに注意してください。作成した各クラスは、独自の機能を定義し、それに先行するオブジェクトまたはクラスなしに任意の関数呼び出しは、ローカルクラスで定義されているものとする。
だから、(ポイント[]、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を理解するのに役立つかもしれないと思っています。
他のヒント
私はあなただけを探していると思います。
Point vertex = vertices[index];
少なくとも、 - もしあなたしているのないはその探し、差は配列のインデックスと何を使用しての間でどのように展開するくださいますの行うの希望:)
希望、それは動作します!
java.awt.Point getVertex(int index)
{
return vertices[index];
}