На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> Массивы , Перебор массивов в цикле
    Добрый день, господа! Такая ситуация. Есть некий класс, в конструкторе которого содержатся строковые массивы.
    ExpandedWrap disabled
      public class AdapterHelper
      {
       String ArrOne[];
       String ArrTwo[];
       String groups[]
       
        AdapterHelper(String groups[],String ArrOne[],String ArrTwo[])
          {
              this.groups = groups;
              this.ArrOne = ArrOne;
              this.ArrTwo = ArrTwo;
          }
       
        //Добавление строк для первой группы
              
              for (int a =0; a < ArrOne.length; a++ )
              {
                 //Добавление строк в первую группу
                 m.put("group", ArrOne[a]);
              }
       
           //Добавление строк для второй группы
              
              for (int a =0; a < ArrTwo.length; a++ )
              {
                 //Добавление строк в вторую группу
                  m.put("group", ArrTwo[a]);
              }  
      }


    Есть вызов этого класса
    ExpandedWrap disabled
              String groups[] = {"Group_1","Group_2"};
       
              String strings_1[] = {"String_1","String_2","String_3"};      
              String strings_2[] = {"String_1","String_2","String_3"};
          
              AdapterHelper(groups,strings_1,strings_2);

    Смысл следующий: При вызове создается группы, элементами которых являются передаваемые массивы строк.
    Так вот, на мой взгляд такой подход неверный, так как код дублируется,и приходится для каждой добавляемой группы дублировать код из предыдущего кода, с заменой имени массива. Поэтому решил сделать добавление в цикле. И вот тут запнулся. Как сделать цикл, в котором при каждой следующей итерации, будет добавляется следующий массив из конструктора? Наподобие такого:
    ExpandedWrap disabled
       for(int a = 0; a < 2; a++) //Кол-во массивов строк в конструкторе
      {
       
          for (int a =0; a < ArrOne.length; a++ ) //Первый массив. При следующей итерации надо подставить следующий массив.
          {
              
              m.put("group", ArrOne[a]);
              
          }
      Переделай конструктор, чтобы он принимал массив массивов строк.
        Цитата JoeUser @
        Переделай конструктор, чтобы он принимал массив массивов строк.

        Была мысль такая, но не получилось. Нужен перебор и замена.
        Сообщение отредактировано: Kamenev_D -
          Цитата Kamenev_D @
          Нужен перебор и замена.

          Опиши задачу по-человечьи. Не то, как ты хочешь сделать, а что нужно сделать.
            Цитата JoeUser @
            Опиши задачу по-человечьи. Не то, как ты хочешь сделать, а что нужно сделать.


            Цитата Kamenev_D @
            Как сделать цикл, в котором при каждой следующей итерации, будет добавляется следующий массив из конструктора?


            Не получается у меня использовать многомерные массивы. Буду благодарен если покажешь как в данной ситуации их применить.
              Цитата JoeUser @
              Опиши задачу по-человечьи. Не то, как ты хочешь сделать, а что нужно сделать.

              ППКС! Опиши суть задачи, а не то, что ты пытаешься наваять!
                Вот полный код, думаю так понятнее будет. Код в соседней ветке, сократил тут код, что-бы не было дублирования. Но вышло так, что не понятно.
                Сообщение отредактировано: Kamenev_D -
                  Цитата Kamenev_D @
                  Вот полный код, думаю так понятнее будет.

                  Неправильно думаешь.
                  Повторюсь: напиши, что нужно сделать (а не как ты это собираешься сделать!).

                  Шаблон:

                  1) У меня есть массивы (строк, чисел, структур)
                  2) Мне нужно написать класс, который:
                  * Может инициализироваться 1,2,3 ... произвольным количеством массивов из п.1
                  * Результатом обработки этих массивов является тру-ля-ля-1 (метод1), тру-ля-ля-2 (метод2) ....

                  Ну вот, хотя бы, как-то так :-?

                  Добавлено
                  Цитата Kamenev_D @
                  Как сделать цикл, в котором при каждой следующей итерации, будет добавляется следующий массив из конструктора?


                  Добавляться куда?

                  Добавлено
                  Цитата Kamenev_D @
                  Не получается у меня использовать многомерные массивы. Буду благодарен если покажешь как в данной ситуации их применить.

                  Покажу, если скажешь че те надо с массивами сделать и куда передать результат сделанного (ну хотя бы распечатать штоль)?
                    Всем спасибо, вопрос решил сам.
                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0297 ]   [ 17 queries used ]   [ Generated: 26.04.24, 02:27 GMT ]