2

int[] arrayこのメソッド insert は、 、int element、およびを入力として取り、 の位置にint index挿入elementします。配列はサイズ変更できないため、メソッドはすべての要素を配列の右側に 1 つずつシフトします。末尾の要素が配列から削除されます。メソッドは を返します。indexarrayvoid

public class ShiftElements {
public static void insert(int[] array, int element, int index)
{
    for (int i = array.length-1; i > index; i--)
    {
        array[i] = array[i-1];
    }
    array[index] = element;
    }
}

このメソッドが機能するかどうかをテストするために、戻り値の型を次のように変更しint[]、メイン メソッドを print に記述しましたarray

public class ShiftElements {
public static int[] insert(int[] array, int element, int index)
{
    for (int i = array.length-1; i > index; i--)
    {
        array[i] = array[i-1];
    }
    return array;
}
public static void main(String[] args) {
        System.out.print(insert(4,5,3));
    }
}

この印刷ステートメントを機能させるのに問題があります。単純なことかもしれませんが、私は決勝に向けて 2 日間起きていたので、かなり頭がおかしくなっています。

メソッドを問題なく呼び出したと確信してinsertいますが、私の問題は type を正しく入力していないことだと思いますint[]。どうすればいいのかわかりません。

4

5 に答える 5

3

私はあなたが探しているものだと思います:

int[] i = new int[5];
System.out.print(java.util.Arrays.toString(insert(i,5,3)));

メソッドの使用とは別に、java.util.Arrays.toStringメソッドで渡すパラメーターに注意しinsertてください。最初のパラメーターは の配列である必要がありますint。しかし、あなたはint.

于 2013-04-28T20:26:35.430 に答える
3

1) insert の最初のパラメーターは、int ではなく、int の配列です。あなたは呼び出す必要があります:

insert(new int[]{4},5,3)

2)配列を印刷することはできません:したがって、次を使用します:

println(Arrays.toString(insert(...)))
于 2013-04-28T20:27:17.643 に答える