Я делаю программу, и мне нужно отсортировать этот список имен и фамилий для создания схемы посадочных мест на самолете. Это 2-мерный массив, первый столбец имеет первое имя, а второй столбец имеет фамилию соответствующего человека в первом столбце. Мне нужно отсортировать это в алфавитном порядке по фамилии, имени, но я не могу понять, как сортировать фамилию, а затем сохранить соответствующую фамилию.Сортировка первого и последнего имен Array
Это мой код:
package assignment_6_1;
import java.util.Scanner;
import java.util.Arrays;
public class Assignment_6_1 {
public static void main(String[] args) {
//Create a Scanner
Scanner input = new Scanner(System.in);
//Create int & string []
String[][]firstAndLastNames = new String[36][2];
int[]heightOfPerson = new int[36];
String[][]seatingChartDiagram = new String[9][4];
int[][]seatRequest = new int [36][2];
//Gather list of names and heights
for(int i=0; i<heightOfPerson.length; i++)
{
//Get first name
System.out.println("Enter Your First Name: ");
firstAndLastNames[i][0] = input.next();
//Get last name
System.out.println("Enter Your Last Name: ");
firstAndLastNames[i][1] = input.next();
//Get height in inches
System.out.println("Enter your height (Iches) : ");
heightOfPerson[i] = input.nextInt();
//Is there a seat request or not
System.out.println("Do you want to request a seat ?");
String ifSeatRequest = input.next();
//Get seat request
if(ifSeatRequest.equals("Yes") || ifSeatRequest.equals("yes"))
{
System.out.println("Enter the seat row you want: ");
seatRequest[i][0] = input.nextInt();
System.out.println("Enter the seat number you want in that row: ");
seatRequest[i][1] = input.nextInt();
}
else
{
//set the request colum for that person to 0 for no request
seatRequest[i][0] = 0;
seatRequest[i][1] = 0;
}
//Prints passenger manifest when list is full
if(firstAndLastNames[35][1] != null){
System.out.println("All Seats are Filled");
break;}
}
String[]firstNameSort = new String[36];
//put the first names into another array to sort
for(int j=0; j<heightOfPerson.length; j++)
{
firstNameSort[j] = firstAndLastNames[j][1];
}
//Alphabetize first name list
Arrays.sort(firstNameSort);
String[][]firstNameAlphLast = new String[36][2];
String[][]nameAlph = new String[36][2];
}
}
Для: Он принимает входные данные пользователя для 36 имен, высот, и если человек хочет сделать запрос гостиной. Я заставил его скопировать массив 2 другого массива, а затем я в алфавитном порядке перечислил фамилии. Теперь я не могу понять, как получить соответствующие имена для алфавитных фамилий.
Почему бы вам не создать объект Person с тремя свойствами ('lastName',' firstName' и 'height')? –
@FlorentBayle Я никогда не слышал о объекте человека, что это такое – Garrett
@FlorentBayle Все, о чем они говорили в лесу, были строковыми и int-массивами – Garrett