powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Удалить пустые строки двухмерного массива
25 сообщений из 26, страница 1 из 2
Удалить пустые строки двухмерного массива
    #39460374
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите доделать функцию, чтобы она заменяла посылаемый на неё массив на тот, что уже получется в результате
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
private static void DelEmptyRow2DArray(String[][] mass) {
        int k = 0;
        for (int i = 0; i < mass.length; i++) {
            if (mass[i][0] != null) {
                k = k + 1;
            }
        }
        String[][] new_mass = new String[k][mass[0].length];
        for (int i = 0; i < mass.length; i++) {
            if (mass[i][0] != null) {
                for (int n = 0; n < new_mass.length; n++) {
                    for (int j = 0; j < mass[0].length; j++) {
                        new_mass[n][j] = mass[i][j];
                    }
                }
            }
        }
	return new_mass;
	}
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460392
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам массив заменить не получится, в Java нет out параметров.
Но можно заменить содержимое массива.
https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#arraycopy(java.lang.Object, int, java.lang.Object, int, int)
Но, ИМХО, это пагубная практика.
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460394
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНо можно заменить содержимое массива.
Размер же массива от этого не уменьшится. Т.ч. задачу топик стартера это не решает.

BlazkowiczНо, ИМХО, это пагубная практика.
Полностью солидарен с данной точкой зрения
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460399
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
Ну а если так
Х = DelEmptyRow2DArray(У);
Х будет иметь те же данные?
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460421
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

Ну или какими то другими способами это решить?
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460423
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
Просто посылаю на функцию, она отрабатывает, но выхода не даёт. Вот как прикрутить это?
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460432
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelBlazkowicz,
Просто посылаю на функцию, она отрабатывает, но выхода не даёт. Вот как прикрутить это?
Код: java
1.
private static String[][] DelEmptyRow2DArray(String[][] mass) {
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460464
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
Что то не прокатило.
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460468
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
Что то не пойму, как это использовать в коде
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 private static String[][] DelEmptyRow2DArray(String[][] mass) {
        int k = 0;
        for (int i = 0; i < mass.length; i++) {
            if (mass[i][0] != null) {
                k = k + 1;
            }
        }
        String[][] new_mass = new String[k][mass[0].length];
        for (int i = 0; i < mass.length; i++) {
            if (mass[i][0] != null) {
                for (int n = 0; n < new_mass.length; n++) {
                    for (int j = 0; j < mass[0].length; j++) {
                        new_mass[n][j] = mass[i][j];
                    }
                }
            }
        }
	return new_mass;
	}


Так?
DelEmptyRow2DArray(massivchik);
Если да, то не фурычит.
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460481
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит "не фурычит"?
Приведите весь код + тестовые данные и что же нужно сделать.
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460487
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

Не фурычит - входной массив не подменяется на итоговый массив функции.
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460488
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevЧто значит "не фурычит"?
Технический термин такой. Значит: "мне лениво разбираться и объяснять что не так. Запустите у себя, исправьте, и дайте мне готовый код."
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460489
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,
Смотрю это в дебагере
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460493
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelНе фурычит - входной массив не подменяется на итоговый массив функции.
Нет такого понятия "подменить массив". Есть переменная, она ссылается на массив. Есть массив, это объект в памяти, который состоит из ссылок на String. Нет никаких "подмен". Можно поменять переменную, чтобы указывала на другой массив. Можно поменять ячейку массива, чтобы ссылалась на другую строку. Учитесь изъясняться в терминах выбранного языка программирования.
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460494
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelLeonid Kudryavtsev,
Смотрю это в дебагере
Фурычит = смотрю это в дебагере
Не фурычит = смотрю то в дебагере
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460506
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
Хорошо. Сделаем так.
В массиве massiv есть пустые строки. Какой строкой кода можно удалить пустые строки в этом массиве, используя предложенную функцию, с минимальными доработками кода?
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460526
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelКакой строкой кода можно удалить пустые строки в этом массиве, используя предложенную функцию, с минимальными доработками кода?
))
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460529
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngel,

Для начала хорошо бы объяснить что именно у вас "пустые строки". Потому что в терминах Java "пустая строка" это объект типа String нулевой длины, а у вас в коде проверка на null первого элемента каждого под-массива.

Если же ваш массив это таблица строки и колонок, то не понятно почему вы проверяете только первый элемент. Вероятно эта задача продолжение предыдущей? Почему нельзя было отфильтровать строки при чтении? Так же остаётся не понятным настойчивое желание использовать массывы вмето коллекций. Чтобы потом героически преодолевать подобные трудности?

Если же пустая строка это ссылка String со значением null, то не понятно что удалять тогда.
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460534
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngel,

да приведи ты уже пример что есть и что должно получиться.
проблема в том, что поменять размерность массива нельзя.
можно только создать новый.

но значения в массиве поменять можно
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460560
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
автормассив это таблица строки и колонок

Для моей задачи этого достаточно чтобы проверить первый столбец. Как отфильтровать строки при чтении, причем чтении массива, если размерность массива неизвестна?
По поводу коллекций - не знаю что это, не использовал. И героическое преодоления конвертов в массив и обратно, тоже не приветствую.


Дмитрий, да вы шутник - 200 строк кода перебивать на телефоне с монитора.
Знаю что размерность изменить нельзя. Но задать имя нового массива = старому почему нельзя вот вопрос.
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460572
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngel... размерность массива неизвестна ...

Знаю что размерность изменить нельзя.
оно и понятно -- как можно изменить что-то, если ты о нём ничего не знаешь?
возможно, что его совсем не существует.
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460576
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelЧто то не пойму, как это использовать в коде

Так?
DelEmptyRow2DArray(massivchik);
Если да, то не фурычит.

String[][] massivchik = собратьВсеДанныеВОдинМассив();
massivchik = DelEmptyRow2DArray(massivchik);

чо не так-то?

***

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
String[][] massivchik = собратьВсеДанныеВОдинМассив()

Holder<?> holder = new Holder()
holder.value = massivchik

DelEmptyRow2DArray(holder)

fun DelEmptyRow2DArray(holder: Holder) {
  massivchik = holder.value

  holder.value = DelEmptyRow2DArray(massivchik)
}
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460580
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelразмерность массива неизвестна?размерность неизвестна только у того массива, которого не существует
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460602
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
String[][] результат = Arrays.stream(данные)
                .filter(this::непустаяСтрока)
                .toArray(String[][]::new);

private boolean непустаяСтрока(String[] строка) {
    return строка[0] != null;
}
...
Рейтинг: 0 / 0
Удалить пустые строки двухмерного массива
    #39460652
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grasoff.netBlackeAngelразмерность массива неизвестна?размерность неизвестна только у того массива, которого не существует
Ну ка, ну ка. Есть массив n, размерностью kxh, из него надо выбрать все строки(как у эксель или опенофиса), содержащие "ё" в новый массив ц. Какова размерность массива ц?
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Удалить пустые строки двухмерного массива
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]