配列から要素を削除する際に問題が発生しました。outofBounds
とjava.lang.exception "The string isn't in the array"
のようなエラーが出ますが、配列から要素を削除し、すべてを下に移動
public void setDeleteItem(String deleteItem) throws Exception{
for(int i = 0; i < arraySize; i++) {
if(deleteItem.equals(array[i])) {
array[i] = "";
if(i < arraySize - 1) {
array[i] = array[i + 1];
arraySize--;
}
} else if(!deleteItem.equals(array[i])) {
throw new Exception("This string isn't in the array");
}
}
}
あなたのコードは、その項目が最初の項目である場合にのみ機能します。そうでない場合は、「else」と入力します。他にも問題があります。 –
これを修正する方法について私に指導を与えることができます –
要素が存在するかどうかを判断する前に、配列全体を反復処理する必要があります今、最初の反復のチェックが真と評価されない場合、例外がスローされます。 – Mark