Untitled

mail@pastecode.io avatar
unknown
java
20 days ago
5.9 kB
3
Indexable
Never
import java.util.Scanner;

/*
Клас Рейс з полями: літак, номер рейсу,
кількість пасажирів, витрати на рейс, витрати на пасажира
*/
class Flight {

    static Scanner input = new Scanner(System.in);
    public String airplane, flightId;
    public float passengers, flightCost, medianCost;

    /* @Override потрібно для коректного виводу даних
    інакше буде виводитись адреса поля, а не його значення*/
    @Override
    public String toString() {
        return "Flight \n Airplane model: " + airplane + "\n Flight number: " + flightId +
                "\n Passengers: " + passengers + "\n Flight cost: " + flightCost + "\n Median cost: " + medianCost;
    }
    public Flight(String airplane, String flightId,
                  float passengers, float flightCost, float medianCost) {
        this.airplane = airplane;
        this.flightId = flightId;
        this.passengers = passengers;
        this.flightCost = flightCost;
        this.medianCost = flightCost/passengers;
    }

    public String getAirplane() {
        return airplane;
    }
    public String getFlightId() {
        return flightId;
    }
    public float getPassengers() {
        return passengers;
    }
    public float getFlightCost() {
        return flightCost;
    }
    public float getMedianCost() {
        return medianCost;
    }


}


public class Main {

    static Scanner input = new Scanner(System.in); //метод для отримання даних від користувача
    public String[][] flightRegistry; // це ніде не використовується

    //count та j ще не імплементовані, тому не звертай уваги на них
    public static int count = 0;
    public int j = 0;




//метод(функція) для отримання інпуту
    public static void getData(String getInstruction){
        
        //умова необхідна для повторного вводу даних, 
        //інакше перший інпут Airplane не буде працювати
        if(getInstruction.equals("flush")){
            String inputBufferFlush = input.nextLine();
        }

        System.out.print("Airplane: ");
        String airplane = input.nextLine();
        System.out.print("\nFlight ID: ");
        String flightId = input.nextLine();
        System.out.print("\nPassengers: ");
        float passengers = input.nextFloat();
        System.out.print("\nFlight cost: ");
        float flightCost = input.nextFloat();



        //створення нового поля flightRegistry для зберігання даних
        Flight[] flightRegistry = new Flight[5];

        //додавання даних у масив
        for (int i = 0; i < 1; i++) {
            flightRegistry[i] = new Flight(airplane, flightId, passengers, flightCost, flightCost);
        }


        //вивід даних для перевірки користувачем
        System.out.println("Flight: \n" + "Airplane model: " + flightRegistry[0].toString() +
                "\nFlight number: " + flightRegistry[1] + "\nPassengers: " + flightRegistry[2]
                + "\nFlight cost: " + flightRegistry[3]
                + "\nMedian flight cost: " + flightRegistry[4]);
        //виклик функції(меню) для перевірки/змінення даних
        checkData();

    }


    public static void checkData(){
        char answer;
        System.out.println("\n Is this flight correct(Y/N): ");
        answer = input.next().charAt(0);
        if (answer == 'Y') {
            count++;
            System.out.println("\n Have a nice day!");
        }
        else if (answer == 'N') {
            System.out.println("\n Do you want to change the details of the flight(Y/N)?");
            answer = input.next().charAt(0);
            if (answer == 'Y') {
                System.out.println("\nInitializing new flight record");
                getData("flush");
            }
            else if (answer == 'N') {
                System.out.println("\n Have a nice day!");
            }
            else {
                System.out.println("\n Entered invalid option! Please try again! \n");
                checkData();
            }
        }
        else {
            System.out.println("\n Entered invalid option! Please try again! \n");
            checkData();
        }
    }
   
    //ф-ція для фінального виводу даних у вигляді таблиці(недопрацьовано)
    public void drawTable(){
        String leftAlignFormat = "| %-15s | %-11d | %-10d | %-13d | %-16d |%n";

        System.out.format("+-----------------+-------------+------------+---------------+------------------+%n");
        System.out.format("| Airplane        | Flight ID   |   Cost     | Passengers   | Median price      |%n");
        System.out.format("+-----------------+-------------+------------+---------------+------------------+%n");
        for (int i = 0; i < count; i++) {

            System.out.format(leftAlignFormat, flightRegistry[i][j] + flightRegistry[i][j+1],
                    flightRegistry[i][j+2], flightRegistry[i][j+3], flightRegistry[i][j+4], flightRegistry[i][j+5]);
        }
        System.out.format("+-----------------+-------------+------------+---------------+------------------+%n");
    }


    public static void main(String[] args) {
        //Flight[] registry = new Flight[4];
        System.out.print("Enter flight details\n");
        getData("hold");



    }
}
Leave a Comment