Предмет: Информатика, автор: vlasihinivan22

2. Создайте структуру с именем train, содержащую поля: название пункта назначения, номер поезда, время отправления. Ввести данные в массив из пяти элементов типа train, упорядочить элементы по номерам поездов. Добавить возможность вывода информации о поезде, номер которого введен пользователем. Добавить возможность сортировки массив по пункту назначения, причем поезда с одинаковыми пунктами назначения должны быть упорядочены по времени отправления. НАПИШИТЕ НА java

Ответы

Автор ответа: Messip
0

Ответ:

import java.util.Arrays;

import java.util.Comparator;

import java.util.Scanner;

class Train {

   String destination;

   int trainNumber;

   String departureTime;

   public Train(String destination, int trainNumber, String departureTime) {

       this.destination = destination;

       this.trainNumber = trainNumber;

       this.departureTime = departureTime;

   }

   public String toString() {

       return "Train: " + trainNumber + ", Destination: " + destination + ", Departure Time: " + departureTime;

   }

}

public class Main {

   public static void main(String[] args) {

       Train[] trainArray = new Train[5];

       // Ввод данных о поездах

       Scanner scanner = new Scanner(System.in);

       for (int i = 0; i < trainArray.length; i++) {

           System.out.print("Enter destination for train " + (i+1) + ": ");

           String destination = scanner.nextLine();

           System.out.print("Enter train number: ");

           int trainNumber = Integer.parseInt(scanner.nextLine());

           System.out.print("Enter departure time: ");

           String departureTime = scanner.nextLine();

           trainArray[i] = new Train(destination, trainNumber, departureTime);

       }

       // Сортировка массива по номерам поездов

       Arrays.sort(trainArray, Comparator.comparingInt(train -> train.trainNumber));

       // Вывод информации о поезде по введенному пользователем номеру

       System.out.print("Enter train number to get information: ");

       int userTrainNumber = Integer.parseInt(scanner.nextLine());

       boolean foundTrain = false;

       for (Train train : trainArray) {

           if (train.trainNumber == userTrainNumber) {

               System.out.println("Information about train " + userTrainNumber + ":");

               System.out.println(train);

               foundTrain = true;

               break;

           }

       }

       if (!foundTrain) {

           System.out.println("Train with number " + userTrainNumber + " not found.");

       }

       // Сортировка массива по пункту назначения и времени отправления

       Arrays.sort(trainArray, Comparator.comparing((Train train) -> train.destination)

               .thenComparing(train -> train.departureTime));

       // Вывод отсортированного массива

       System.out.println("Sorted train list:");

       for (Train train : trainArray) {

           System.out.println(train);

       }

   }

}

Похожие вопросы
Предмет: Литература, автор: Oleksandr390