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

Как при сортировке parallel array соотносить после сортировки введенные и отсортированные данные

24.03.2013, 02:19. Показов 852. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня параллельный массив данных: имена и возвраст соответственно.

Сортировка производится либо по имени либо по возрасту. Как после сортировки соотносить отсортированные имена с введенными для них возрастами (ages).
Дело в том, что у меня сортировку производит, например по имени, а возраст оставляет в том порядке как вводилось.

Хотелось бы не менять код полностью - просто ввнести изменения в уже существующий.
Не уже ли это невозможно???

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
* Purpose:  Use arrays to store and display the name and age of any number of individuals
 */
 
import javax.swing.JOptionPane; // for GUI's
import java.util.Scanner;       // Scanner method to output
import java.util.Arrays;          // for arrays
import java.util.Comparator;
 
 
public class NameAndAge
{
 
   public static void main(String[] args)
   {
     /**********************************************************************
      declare and initialize variables
      ********************************************************************/
      String openingMessage,
             numberStr,
             numberOfNamesStr,
             namesStr,
             ageStr,
             numberOfSortStr,
             outputMessage;
 
      String[] names;
 
 
 
      int   [] ages;
      int    numberOfNames = 0,
             age,
             numberOfSort;
 
 
 
 
 
         /**********************************************************************
          input
          **********************************************************************/
 
         // opening message of program  to user
         openingMessage = "This program stores names and ages of people\n"
                        + "and displays them sorted by name or age.\n";
         JOptionPane.showMessageDialog( null, openingMessage );
 
        // get  numbers of names from user
            numberStr = JOptionPane.showInputDialog("Enter the number of names you wish to enter:");
            numberOfNames = Integer.parseInt(numberStr);
 
            names = new String[numberOfNames]; // allocate space for array names
            ages = new int[numberOfNames];  // allocate space for array ages
 
        // add data to array of names and array of ages
             for(int i = 0; i < numberOfNames; i++)
              {
                // get data of names:
                namesStr   = JOptionPane.showInputDialog("Enter name of person # " + (i + 1));
                names[i] = namesStr;
 
                // get data of ages:
                ageStr   = JOptionPane.showInputDialog("Enter the age of person #" + (i + 1));
                age = Integer.parseInt(ageStr);
 
                ages[i] = age;
              }
 
        // get number to choose sorting array: by names - 1 or by ages - 2
            numberOfSortStr = JOptionPane.showInputDialog("Enter 1 to sort by name, 2 to sort by age:");
            numberOfSort = Integer.parseInt(numberOfSortStr);
 
 
 
         /**********************************************************************
          processing the program
          **********************************************************************/
 
 
         if (numberOfSort == 1)
         {
            Arrays.sort(names); // sort array by names
             // creating output message 1
 
             System.out.println("C:.CSC 240 Program Files.chapter 06 exercise files.java NameAndAge  \n\n"
                               + "Sorted by name\n\n"
                               + "Name                Age\n"
                               + "====                ===");
 
              for(int i = 0; i < numberOfNames; i++)
              {
               System.out.println( names[i] + "\t"  + ages[i]);
              }
 
          }  // end of if statement
 
 
         else if (numberOfSort == 2)
         {
         Arrays.sort(ages); // sort array by ages
 
 
            // creating output message 2
 
             System.out.println("C:.CSC 240 Program Files.chapter 06 exercise files.java NameAndAge  \n\n"
                                   + "Sorted by age\n\n"
                                   + "Name           Age\n"
                                   + "====           ===");
 
             for(int i = 0; i < numberOfNames; i++)
              {
               System.out.println( names[i] + "\t" + ages[i]);
              }
 
        } // end of else if statement
 
   } // end method displayItemOutput
 
 
 
} // end class
Добавлено через 10 минут
Должно быть:
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.03.2013, 02:19
Ответы с готовыми решениями:

DatagridView при сортировке сбрасывает введенные вручную данные
Доброго времени суток. Ситуация такая: На форме есть dgv, привязанная к БД Access через источник данных. в этот dgv через...

Как сохранять введенные данные, например в массив, после выключения консоли
Здравствуйте. Как сохранить то, что введено в массив, после выключения консоли (программы)? Например, создана...

Как сделать так, чтобы класс в заголовочном файле запомнил введенные в консоль данные? Когда я пытаюсь вывести введенные
//ssssss.cpp #include &quot;pch.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;Windows.h&gt; #include...

4
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
26.03.2013, 08:10
Возможно, но криво.
Лучше поменяйте код - сделайте отдельный класс с полями name и age. И сортируйте массив этих объектов.
1
 Аватар для dr_yand
157 / 138 / 15
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
26.03.2013, 08:36
Вы можете для метода Arrays.sort написать свой Comparator
http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Arrays.html#sort(java.lang.Object[], java.util.Comparator)
1
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
26.03.2013, 08:44
Цитата Сообщение от dr_yand Посмотреть сообщение
Вы можете для метода Arrays.sort написать свой Comparator
http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Arrays.html#sort(java.lang.Object[], java.util.Comparator)
И как это поможет отсортировать второй массив?
1
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
26.03.2013, 17:58
Цитата Сообщение от turbanoff Посмотреть сообщение
Лучше поменяйте код - сделайте отдельный класс с полями name и age. И сортируйте массив этих объектов.
уже я ему такой пример давал, даже с реализацией и класса и компараторов, но видимо чел хочет именно массивами поработать
Сортировщик по имени и возрасту
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.03.2013, 17:58
Помогаю со студенческими работами здесь

Как при обновлении формы сохранить введенные в нее данные
Как при обновлении формы сохранить введенные в нее данные . Буду очень благодарен. &lt;form method=post name=&quot;ss&quot;&gt; ...

Как хранить отсортированные данные в БД
Добрый день. Есть фотоальбом, там картинки сортируются по дате. Администратор имеет возможность отсортировать картинки в любом порядке....

Как при обновлении формы сохранить введенные в нее данные через переменные
Как при обновлении формы сохранить введенные в нее данные через переменные. &lt;form method=&quot;POST&quot; &gt; &lt;p...

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru