6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
1

Как передать рандомно заполненный массив из одного объекта в другой с возвратом его обратно?

28.04.2014, 15:10. Показов 1827. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ подскажите как передать рандомно заполненный массив из одного объекта в другой, при этом из 2-ого объекта массив уходит на сортировку и возвращается. Так же все завернуто в поток, и запускается из 2 объекта. Если кто то понял, что я написал, подскажите как сделать что бы все это работало)
При этом ругается на вызов потока...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.04.2014, 15:10
Ответы с готовыми решениями:

Передать bitmap из одной формы, изменить его в другой и вернуть обратно. как?
public Create(Bitmap bmp) { InitializeComponent(); ...

Как передать массив с одного сайта на другой ?
Есть 2 сайта. site1.ru/1.php?name=vasya На нем формируется массив. $array = array( 1 =>...

Как передать массив из одного cgi скрипта в другой в perl
Здравствуйте. Подскажите, пожалуйста как передать массив из одного cgi скрипта в другой в perl....

Передать HashMap в другой поток для заполнения, а затем вернуть его обратно
Доброго всем времени суток. Подскажите, как решить вот такую дилемму. Столкнулся со следующей...

9
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
28.04.2014, 15:32 2
Массив это объект. В памяти хранится в единственном числе. ссылок на него может быть сколько угодно.

Без кода не понять, что не работает.
0
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
28.04.2014, 15:49  [ТС] 3
Более подробно.
1 - заполняем массив
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Mass 
{
    public int[] getArray()
    {
        int[] array = new int [50];
        for (int i = 0; i < array.length; i++)
        {
            array[i] = (int) Math.round(Math.random() * 100);
            System.out.print(array[i] + " ");
        }
        return array;
    }   
}
2-запуск сортировки
Java
1
2
3
4
5
6
7
8
9
10
11
public int []  StartBubble(int[] array)
    {
        System.out.println("Тут проходит сотртировка Пузырьком");
        
        
        Bubble b = new Bubble();
        
        array = b.StartB(array, 0, array.length-1);
        
        return array;
    }
ну и 3 сама сортировка
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Bubble 
{
    public static int [] StartB(int[] array, int l, int r)
    {       
        for(int i=0;i<array.length-1;i++)
        {
             for(int j=i+1;j<array.length;j++)
             {
              if(array[i]>array[j])
              {
                   int tmp=array[i];
                   array[i]=array[j];
                   array[j]=tmp;
              }
             }
        }
        System.out.println();
        for (int i = 0; i < array.length; i++) 
        {
            System.out.print(array[i] + " ");
        }
        
        return array;
    }
    
}
Добавлено через 1 минуту
Вот как передать массив по 2? и так же есть запуск потока
Java
1
2
3
4
5
6
7
8
9
10
11
12
class Bubble extends Thread  //пузырек
{   
    public void run()
    {
        Start s = new Start();
        s.StartBubble(null);         
    }
}
.......
SecondSort = new Bubble();
        Thread t2 = new Thread(SecondSort);
        SecondSort.start();
Добавлено через 5 минут
Ругается на
Exception in thread "Thread-3" java.lang.NullPointerException
at Sort.Start.StartBubble(Start.java:44)
at Multithreading.Bubble.run(Main.java:26)
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
28.04.2014, 23:28 4
ну во первых в метод передается КОПИЯ ссылки на массив, то есть фактически вы указываете на одну и туже сущность в памяти.
во-вторых имена пакетов пишем с малеькой буквы, как и методов.
в третьих, проблема в том, что вы забыли создать объект. он null, а вы на нём, что-то вызвать хотите.

Дальше идём, если этого не хватит чтобы пофиксить, то выложите абсолютно весь ваш код!
0
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
29.04.2014, 18:44  [ТС] 5
Блин короче наворотил там, начну все с начала.
Можете привести самый простой пример заполнения рандоно массива в одном методе и передача его в другой?
Заранее спасибо.
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
29.04.2014, 19:30 6
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Arrays;
 
public class ArrTest {
    public static void main(String[] args) {
     int[] k ={1,2,3};
     System.out.println(Arrays.toString(k));
     addOneToAll(k);
     System.out.println(Arrays.toString(k));
     
    }
    public static void addOneToAll (int arr []) {
        for(int i=0;i< arr.length;i++){
            arr[i]++;
        }
    }
}
0
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
29.04.2014, 19:48  [ТС] 7
gredwhite, А если она в разных классах)
чтоб уж на верняка)

Добавлено через 24 секунды
И обязательно статик?
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
29.04.2014, 21:01 8
Цитата Сообщение от qdhtnsoyndtr Посмотреть сообщение
А если она в разных классах)
кто она?
Цитата Сообщение от qdhtnsoyndtr Посмотреть сообщение
И обязательно статик?
вообще не влияет на передачу массива.
0
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
29.04.2014, 21:02  [ТС] 9
gredwhite, Метод
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
30.04.2014, 00:47 10
qdhtnsoyndtr, естественно не влияет.

Наверное стоит попробовать самому?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2014, 00:47
Помогаю со студенческими работами здесь

Глобальные переменные в winforms. Как передать массив из одного метода в другой
Собственно нужно создать динамический трехмерный массив: unsigned char ***scr; scr = new...

Копирование из одного массива в другой массив одного объекта
Пытаюсь скопировать дного массива в другой массив один объект, но не выходит. Условие следующее....


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru