Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 06.09.2013
Сообщений: 5

Передать в метод "что-то", что бы метод мог в это "что-то" записать матрицу неизвестной размерности

21.09.2014, 13:48. Показов 1837. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Опишу суть проблемы подробнее.
Есть метод, который умножает две матрицы, мне бы хотелось, что бы метод принимал в параметрах:
1. "Что-то" для помещения результирующей матрицы.
2. Матрицу A.
3. Матрицу B.
Я бы конечно смог, легко решить проблему, просто вернув результат return-ом.
Но, я принципиально хочу, что бы функция возвращала статус обработки(получилось, не получилось, причина неудачи), а результат записывала в "Что-то".
Суть проблемы я понимаю, она в особенностях Java передачи данных в метод.
Вторая сторона проблемы в том, что заранее не известно, какой размерности будет результирующий массив.
В общем, если сделать так:
Java
1
2
3
4
int[][] rData=null;
mul(rData,aData,bData){
rData = new int[aData.length][bData[0].length];
}
То конечно же данные потеряются вместе с локально переменной метода.
Собственно, как решить эту задачу, какие есть "подходы"?
Напоминаю, возвращать функция будет статус, а результат нужно куда-то поместить...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.09.2014, 13:48
Ответы с готовыми решениями:

Что это за метод?И что он делает?
double func (double y, int k, int n){ double y1; for (int i=0; i<=n+1;i++) y1=0; double t; t=0; y1=1; ...

Как добиться неоднозначности интерфейса что бы компилятор не мог понять какой метод вызывать?
Как добиться неоднозначности интерфейса что бы компилятор не мог понять какой метод вызывать? возможно ли это? using System; ...

Обертка-метод что это?
Добрый день. Подскажите, пожалуйста литературу, по сабжу. Что это, как это применять. Гугление не помогло. Или хотя бы где можно...

5
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
21.09.2014, 14:26
Я назову слово целиком: под "что-то" прячеться "путь к результирующему файлу", я выиграл автомобиль или это ещё не финальная игра?
0
0 / 0 / 0
Регистрация: 06.09.2013
Сообщений: 5
21.09.2014, 14:32  [ТС]
Почему к файлу, если мне всего-то надо будет результирующую матрицу напечатать в консоль?
Оно то сработает, но я сомневаюсь, что не способа лучше...
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
21.09.2014, 14:39
Цитата Сообщение от qweentet Посмотреть сообщение
Почему к файлу, если мне всего-то надо будет результирующую матрицу напечатать в консоль?
Если результирующую матрицу надо напечатать в консоль то берут и печатают в консоль, а не думают чем бы её обернуть и какие бы ещё 3 программы написать чтобы они взаимодействовали между собой.
Цитата Сообщение от qweentet Посмотреть сообщение
Оно то сработает, но я сомневаюсь, что не способа лучше...
Ты сомневаешься, а мне читали курс ос и я знаю что нет способа проще и лучше. Остальные можешь посмотреть на википедии ru.wikipedia.org/wiki/Межпроцессное_взаимодействие
P.S маразм крепчал: уже даже на википедию через url ссылаться нельзя так как в сообщении оно есть при редактировании, а на странице уже не отображаеться.
0
0 / 0 / 0
Регистрация: 06.09.2013
Сообщений: 5
21.09.2014, 14:59  [ТС]
Я просто не могу тогда понять, выходит, что тут лаконичность Java проседает, в C++ я бы мог просто передать переменную с адресом по которому содержится null, а потом внутри функции спокойно бы создал объект с необходимыми параметрами и заменил бы null его адресом. А в Java выходит, что мне ради такой мелочи, нужно создавать файл.
P.S. Я не пытаюсь никого оскорбить или хамить, и тем более предъявлять претензии, Java только начал изучать, делаю лабораторку, и зашел в ступор. Опять таки, я бы мог забить, и сделать по другому. Но вдруг образуется ситуацию где этот момент будет важен, а я его вовремя не решил...
В вики глянул, возник вопрос, неужели задача на столько не рядовая, что нужно привлекать это "межпроцессное взаимодействие"?

Добавлено через 13 минут
Судя по моим свежим догадкам, проблему можно решить, создав класс обертку, по аналогии со StringBuffer. Если у кого есть другие идеи, излагайте...
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
21.09.2014, 15:12
Я думал ты из внешнего процесса захотел вызвать программу и начал огород городить, если у тебя простые функции то возьми и передай туда чистый List, Map или что тебе нравиться. Логично что любой высокоуровневый язык "умеет" функции принимающие аргументы.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Main{
    public static void main(String[] args) {
        List<List<Integer>> data = new ArrayList<>();
        if(fun(data) == 1)
            for(List<Integer> row: data) {
                for (Integer i : row)
                    System.out.printf("%-3d",i);
                System.out.println();
            }
    }
 
    public static int fun(List<List<Integer>> lst){
        lst.add(Arrays.asList(1,2,3));
        lst.add(Arrays.asList(4,5,6,7));
        lst.add(Arrays.asList(8,9));
        return 1;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.09.2014, 15:12
Помогаю со студенческими работами здесь

не могу понять что это за метод
Здравствуйте! Помогите разобраться, что означает эта конструкция: def put_video(тут всякие аргументы) -&gt; str: интересует...

Дайте наводку на то, что это за метод шифрования
Здравствуйте. Есть флаги. Сказано, что они имеют такой формат CC{+} , на пример: CC{w0w_y0u_f0und_7h3_fl46} . По какому принципу нужно...

Что это за метод построения таблицы идентификаторов?
Подскажите, какой метод построения таблицы идентификаторов используется в этой программе? namespace laba7 { public partial class...

Компилятор считает что метод это пространство имён
Здравствуйсте Я сделал так чтобы в обработчике событий menustrip'a вызывалось окно с открытием файла, но компилятор выдаёт кучу ошибок. ...

Что это за знак >> прочитал что это сдвиг вправо? что он делает
int d=6, c=5,f; f = d &gt;&gt; c; cout&lt;&lt; f; вывод 0


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru