次のJavaプロジェクト用1,2,3次元ベクトルを自分で保存するためのVector(Vektorという名前の)クラスを作りたかったのです。 Class Vektorには、作成時に入力するパラメータの数ごとに3つのコンストラクタがあります。 Vektorを配列として出力するshow()メソッドもあります。 開始コード:Vektorsを開始すると、次の問題が表示されますJavaオブジェクトが上書きされていて新規作成されていません
public static void main(String[] args) {
Vektor x = new Vektor(1);
Vektor xy = new Vektor(2,3);
Vektor xyz = new Vektor(4,5,6);
x.show();
xy.show();
xyz.show();
が出力:
[4,5,6]
[4,5,6]
[4,5,6]
クラスVEKTORは次のようになります。もちろん
public static int[] alpha = new int[3];
public Vektor(int x) {
this.x = x;
alpha[0] = x;
}
public int[] show() {
System.out.println(Arrays.toString(alpha));
return alpha;
コンストラクタの変更をパラメーターの数を指定します。 VectorにすべてのVariableを格納するArrayアルファに加えて、変数x、y、zがあり、これらはコンストラクタに現れるときにその値で埋められます。 私は3つの異なるオブジェクトを作成したので、誰かが私が3倍の同じOutputを得て、3つの異なるOutputsを得ないのは、 Thx、Luca
更新:問題が見つかりました。アレイは「静的」として分類されてはなりません。 ありがとうございました。
「アルファ」の宣言を示してください。私の推測では、それは静的なものです(ヒント:あなたのコードの一部だけでなく、[mcve]を常に表示してください) –
静的変数はすべてのオブジェクトで同じです。 「静的」を削除すると効果があります –