package com.javarush.task.pro.task10.task1012;
import java.util.Arrays;
import java.util.Objects;
/*
Дефрагментация памяти
*/
public class Memory {
public static void main(String[] args) {
String[] memory = {"object15", null, null, "object2", null, null, null, "object32", null, "object4"};
executeDefragmentation(memory);
System.out.println(Arrays.toString(memory));
}
public static void executeDefragmentation(String[] array) {
//напишите тут ваш код
int len = array.length;
int lastEl = len - 1;
int counter = 0; //Счетчик null'ов
for(int i = 0; i < len; i++){ //считаем кол-во null в массиве
if (array[i] == null)
counter++;
}
for (int i = 0; i < len - counter; i++) { //что бы while не перешел черту, ограничиваю на кол-ве не null эл-ов
if (array[i] == null ) {
while (array[lastEl] == null){ // ищу индексы null
lastEl--;
}
array[i] = array[lastEl];
array[lastEl] = null;
}
}
}
}
//вывод [object15, object4, object32, object2, null, null, null, null, null, null]. Почему условие не выполняется?Anonymous #2524919
13 уровень
Тоже не понимаю, почему у меня не проходит валидацию второй пункт? "Реализуй метод executeDefragmentation(String[]) согласно условию."
Архивный
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
KIRAРазработчик в prosv.ruExpert
23 марта 2021, 19:38
А в задании нет условия: не менять порядок следования объектов?
0
Anonymous #2524919
24 марта 2021, 04:14
Метод executeDefragmentation(String[]), принимающий массив строк, выполняет его "дефрагментацию", то есть перемещает все объекты в начало массива в таком же порядке, передвинув все "дыры" (элементы равные null) в конец массива. В этой задаче тебе нужно реализовать метод executeDefragmentation(String[]). Метод main() можешь использовать для проверки результата работы метода executeDefragmentation(String[]).
Предполагаю, что порядок менять не нужно.
0
KIRAРазработчик в prosv.ruExpert
24 марта 2021, 08:23решение
Ну так в выводе порядок не правильный. После 15 объекта должен быть 2, а идет 4 в выводе
+2
Anonymous #2524919
24 марта 2021, 16:02
Что-то дико затупил, спасибо огромное!!!
0