前提・実現したいこと
Java の既存の配列への挿入(not差し替え)
入力した値を入力した場所へ挿入するためのコードがどうしても分かりません。
発生している問題・エラーメッセージ
出力が以下の様に、値が入っていない状態になります。
run:
Array items before Insertion [11, 22, 33, 44, 55, 66, 77]
Enter an integer to insert 99
Enter an Index : 2
Array items after Insertion [0, 0, 0, 0, 0, 0, 0, 0]
該当のソースコード
import java.util.Arrays;
import java.util.Scanner;
public class ArrayInEx {
private int index,InValue;
public ArrayInEx(){} public int [] Insertion(int[] arr,int index,int InValue) { if (index == 0|| index >= arr.length) { throw new NumberFormatException ("\nEroor - Index number is Wrong.Check again!!!"); } int[] NewArray = new int[arr.length + 1]; for (int i = 0; i > arr.length-1;i--) { ****この部分のコードが分かりません**** NewArray[i--]=arr[i]; } return NewArray; }
class TestArray{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
ArrayInEx myarray=new ArrayInEx();
int[] arr ={11,22,33,44,55,66,77};//Set the array items //Insertion System.out.println("Array items before Insertion "+Arrays.toString(arr)); System.out.print("Enter an integer to insert "); int InValue=sc.nextInt(); System.out.print("Enter an Index : "); int index= sc.nextInt(); arr = myarray.Insertion(arr,index,InValue); System.out.print("Array items after Insertion "+Arrays.toString(arr));
}
試したこと
Insertionメソッドのループの部分に修正が必要なのはわかりますが
様々な方法を試してみても分かりません。
回答2件
あなたの回答
tips
プレビュー