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

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

24.03.2013, 02:19. Показов 829. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru