が、私は特定の位置に要素を挿入しようとしていますが、私はJavaで新しいです挿入要素が
ので、誰も助けることができるコードが
java.lang.ArrayIndexOutOfBoundsExceptionのエラーを投げている起きていません私のコードを修正する。私はinsertPositionメソッドのinsertArr[i+1] = insertArr[i];
で何か間違っていることを知っています。どんな助けも良い助けになるでしょう。
私のコード
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[] insertArr = {10,30,20,40,60,50,90,70,80};
Arrays.sort(insertArr);
int arrLength = insertArr.length;
System.out.println("At what position you want to insert");
int pos = in.nextInt();
System.out.println("What element you want to insert");
int key = in.nextInt();
insertPosition(insertArr,arrLength,pos,key);
for(int num : insertArr){
System.out.println(num);
}
}
public static int insertPosition(int insertArr[],int arrLength, int pos, int key){
if(pos > arrLength)
return arrLength;
for(int i=arrLength-1; i>=(pos-1); i--)
insertArr[i+1] = insertArr[i];
insertArr[pos-1] = key;
return arrLength;
}
は、なぜあなたはhttps://docs.oracle.com/javase/7/docs/api/java/util/List.html#add使用していません(int、%20E) このように: insertArr.add(pos、key); –
私は並べ替えられた配列のために私の独自のメソッドを書くので、いくつかのコーディング練習をしようとしています。 –
自分のコードを書くことに加えて、私はいくつかのスタンドアットコードを読む*をお勧めしたいと思います。それらのほとんどはコメントを含み、よく文書化されていて、以前にも知らなかった多くのことを気にします;)少なくとも、それは私を助けます。 – ADS