Когда я удаляю элемент, я удаляю его из массива, затем печатаю сообщение о том, что оно было удалено.Почему я не могу удалить элемент из этого массива?
Я знаю, что, поскольку массив не отсортирован, самый простой способ удалить элемент - это просто переместить текущий последний элемент на свое место, а затем уменьшить количество элементов.
Что я сделал не так? Как я могу это исправить?
public static int removeBall(String[] hookPotentialArray, String[] nameBallArray, int[] ballWeightArray, int count) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter the name of the ball you would like to remove: ");
String name = keyboard.nextLine();
boolean ballRemoval = false;
for (int i = 0; i < count; i++) {
if (name.compareToIgnoreCase(nameBallArray[i]) == 0 && !ballRemoval) {
nameBallArray[i] = nameBallArray[count - 1];
ballWeightArray[i] = ballWeightArray[count - 1];
hookPotentialArray[i] = hookPotentialArray[count - 1];
ballRemoval = true;
count--;
System.out.println("The ball you selected to be removed "
+ "has been removed.");
System.out.println("");
}
}
return count;
}
Поскольку Java массивы не являются динамическими, у меня ** нет ** идея, что вы просите. –
В чем проблема? Разве это не компилируется, не рушится ли, работает ли оно, но не имеет ожидаемого поведения, что? –
@letsjak В вашем [предлагаемом редактировании] (http://stackoverflow.com/review/spected-edits/6327428) на этот вопрос вы попытались заменить букву '' '' символом символа HTML. В общем, вам не нужно это делать, поскольку это уменьшает читаемость при редактировании сообщения. – APerson