1

((2,1),(2,-1),(1,-2)) に等しい変数オフセットを作成しようとしています。これにより、反復して各位置の X、Y 座標を取得できます。

Python では、リストのリストを使用します。これはJavaでもできると思っていたのですが、この言語でやるのはもっと難しいようです...

私はおそらく int[] オフセットが機能するかもしれませんが、サイコロはないようです。次に、それはリストのリストであるため(単なるリストではありません)、int [] []オフセットを試しましたが、Eclipseはまだ私がバカだと思っていました。

私は何が欠けていますか?それとも、これを必要以上に難しくしているだけで、実際にはリストのリストの代わりにあなたが提案したい本当に簡単なものがありますか?

4

3 に答える 3

5

最良のアイデアは、ポイントを使用することです

Point point = new Point(1,4);
List<Point> points = new ArrayList<Point>();

別の方法は、リストのリストを使用することです。推奨されません。オブジェクト指向ではない

 List<List<Integer>>

または、独自のバージョンの Point クラスを作成することもできます。たとえば、内部に 1 つの軸を持つオブジェクト

class AxisX{
 private List<Integer>
}

そしてそれを別のオブジェクトの中に入れます

class Coordinates{
    private List<AxisX>
}
于 2013-09-09T20:58:42.847 に答える
0

これをシリアライゼーションとリモート データ転送に関連するもので使用する場合は、List 自体ではなく、List の実装者クラスを使用してみてください (変数を宣言している間)。

ArrayList<ArrayList<Integer>> ....

Collections フレームワーク インターフェイスは Serializable インターフェイスを拡張しないため

最初からこれに気付かなかったので、恐ろしい経験をしたので、これが役立つかもしれません

于 2013-09-09T21:40:10.607 に答える
0

ここに書かれていることから、配列構文でリストメンバーにアクセスしようとしているようです。

Java では、コレクションと配列の構文はまったく異なります。配列は [] でインデックス付けされ、リストなどのコレクションはメソッドを使用します。

j番目のリストのi番目の要素を取得するには

list.get(j).get(i);

最初の get 呼び出しは、リストの i 番目のインデックスにあるリストを返します。2 番目の get 呼び出しは、内側のリストの j 番目の要素を返します。

ただし、この場合、@Tom_G を 2 番目に使用し、ポイント オブジェクトのようなものを使用することをお勧めします。その場合は、1 つのオブジェクトで x、y 座標を処理するポイント 1 つのリストのみが必要です。

于 2013-09-09T21:05:48.807 に答える