Untitled
unknown
java
a year ago
5.9 kB
11
Indexable
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");
}
}Editor is loading...
Leave a Comment