問題について開示された情報は、(理由は言語の障壁の可能性が高い)混乱されていますが、それは二つの問題の一つである:あなたがしようとしている
Something
のコンテキスト外(別のクラスと同様)からarrayName
にアクセスするには、アクセスレベルはarrayName
(デフォルトのアクセスレベルはprivate
)です。あなたが別のクラスでarrayName
フィールドを共有する必要があるなら、あなたはちょうどそうのように、public
を前に付けすることができます
クラス何かあなたはindex
がどこか 公共ダブル[] arrayName =新しいダブルの[定義されていると仮定すると、 { // 20]。 public void Method() { arrayName [index] = value; index ++; } }
あなたは配列要素の値を割り当てようとしています。あなたが持っているコードは、配列のサイズまで処理する必要があります。その場合、index = 20
(または21個の要素)のときになります。次の反復が行われると、次の要素の配列に十分なスペースがないため、IndexOutOfBoundsException
が発生します。
可変長配列と同様のList<Double>
に切り替えることをお勧めします。その実装は次のようになります。
class Something
{
List<Double> listName = new List<Double>();
public void Method()
{
listName[index] = value;
index++;
}
}
しかし、あなたは(この機能が必要な場合、私はそれを示唆しているが)、コレクションの種類を変更することができない場合index
はarrayName
のサイズよりも大きい場合は、あなたの配列のサイズを変更することができます。これがあなたが探しているものであれば、私は例を提供することができます(または、単純な検索を通して多くの人の一人を見つけることができます)。
"メソッドを使って配列を評価する"とはどういう意味ですか? –
あなたのコメントにコードを追加しました。私が虚偽の表現をしている場合は、調整してください。 –