Я работал с данными из файла и держал их в паре вместе. Мне нужно отсортировать данные в алфавитном порядке, сохраняя их в паре одновременно. Вот мой текстовый файл:
Joe
Jake
Toronto
32
joejake@gmail.com
Bob
Barley
Vancouver
13
bobbarley@gmail.com
Felix
Fixed
Boston
24
felixfixed@gmail.com
Вот что мне нужно для вывода:
First Name:
Bob
Last Name:
Barley
City:
Vancouver
Age:
13
Email:
bobbarley@gmail.com
First Name:
Felix
Last Name:
Fixed
City:
Boston
Age:
24
Email:
felixfixed@gmail.com
First Name:
Joe
Last Name:
Jake
City:
Toronto
Age:
32
Email:
joejake@gmail.com
В идеале, когда я сортирую их, имя и фамилия и т. Д. c. будет правильно соединен Однако то, что у меня есть в настоящее время, приводит к таким выводам:
First Name:
Bob
Last Name:
Barley
City:
Vancouver
Age:
13
Email:
bobbarley@gmail.com
First Name:
Felix
Last Name:
Fixed
City:
Boston
Age:
24
Email:
felixfixed@gmail.com
First Name:
Joe
Last Name:
Fixed
City:
Boston
Age:
24
Email:
felixfixed@gmail.com
Вот код, который я написал:
public static void insertfname (String fname [], String lname [], String city [], String age [], String email []) throws IOException
{
int howMany = 0;
int count = count (howMany);
for (int i = 1; i < count; i++)
{
String current = fname [i];
String current2 = lname [i];
String current3 = city [i];
String current4 = age [i];
String current5 = email [i];
int j = i - 1;
//Insertion sort and keeping records together
while (j >= 0 && current.compareToIgnoreCase (fname [j]) < 0)
{
fname [j + 1] = fname [j];
j--;
}
fname [j + 1] = current;
while (j >= 0 && current.compareToIgnoreCase (fname [j]) < 0)
{
lname [j + 1] = lname [j];
j--;
}
lname [j + 1] = current2;
while (j >= 0 && current.compareToIgnoreCase (fname [j]) < 0)
{
city [j + 1] = city [j];
j--;
}
city [j + 1] = current3;
while (j >= 0 && current.compareToIgnoreCase (fname [j]) < 0)
{
age [j + 1] = age [j];
j--;
}
age [j + 1] = current4;
while (j >= 0 && current.compareToIgnoreCase (fname [j]) < 0)
{
email [j + 1] = email [j];
j--;
}
email [j + 1] = current5;
}
}