wetmoney:
Javaへの新規およびint配列を取り、別のint配列を返します。プログラム/メソッドを作成しようとしているが、それは要素の値でインデックスの値を置き換えています。(実施例{2,1,3}は{0,0,1,2,2,2}を戻します
public static void main(String[] args) {
int[] pracArray = {2, 1, 3};
int sum = 0;
for (int i = 0; i < pracArray.length; i++)
{
sum = sum + pracArray[i];
}
System.out.println("Amount of array indexes: " + sum);
int[] newArray = new int[sum];
System.out.println(Arrays.toString(pracArray));
for (int i = 0; i < pracArray.length; i++)
{
for (int j = 0; j < pracArray[i]; j++)
{
newArray[j] = i;
}
}
System.out.println(Arrays.toString(newArray));
}
}
現在、私は[2,2,2,0,0,0]を取得しています。私は無駄でループを反復処理のために何回、それぞれを変更しようとしています。しかし、多くの実行 - 新しい配列の値は常に0になりますので、。私はまたNEWARRAYの要素がカウンターに等しくすることを試みた(となる数++ forループのintカウント= 0)。
Surronie:
あなたの配列の長さを考えるとは、あなたの外側の「I」ループは値0,1,2を反復され、3です。それは(それゆえ、彼らは出力に0である理由)あなたの内側の「J」のループは、インデックス3,4,5への書き込みは決して意味し、なぜ最初の3つのインデックスが「2」に設定されている(2最後は "で処理インデックスされますI」ループ)。代わりにこれを試してみてください...
int h = 0;
for (int i = 0; i < pracArray.length; i++)
{
for (int j = 0; j < pracArray[i]; j++)
{
newArray[h] = i;
h++;
}
}