import java.util.Random;
import java.util.Scanner;

class Samochod {
    private String marka;
    private String model;
    private double cenaZaDzien;
    private static String wypozyczalnia = "Wypożyczalnia Samochodów";

    // Konstruktor dla Samochodu z losową ceną
    public Samochod(String marka, String model) {
        this.marka = marka;
        this.model = model;
        this.cenaZaDzien = losujCene(50, 500); // Losuje cenę w przedziale 50-500 zł
    }

    // Konstruktor z podaną ceną, sprawdzający minimalną wartość
    public Samochod(String marka, String model, double cenaZaDzien) {
        this.marka = marka;
        this.model = model;
        setCenaZaDzien(cenaZaDzien);
    }

    // Metoda losująca cenę w podanym przedziale
    private double losujCene(int min, int max) {
        Random random = new Random();
        return random.nextInt(max - min + 1) + min;
    }

    // Metoda ustawiająca cenę z minimalnym ograniczeniem
    public void setCenaZaDzien(double cenaZaDzien) {
        if (cenaZaDzien >= 50) {
            this.cenaZaDzien = cenaZaDzien;
        } else {
            System.out.println("Cena wynajmu musi być większa lub równa 50 zł.");
        }
    }

    // Wyświetlanie danych o samochodzie
    public void display() {
        System.out.println("Samochód: " + marka + " " + model + ", Cena za dzień: " + cenaZaDzien + " zł, Wypożyczalnia: " + wypozyczalnia);
    }
}

class Wypozyczalnia {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Samochod[] samochody = new Samochod[3];

        // Dodajemy trzy samochody do wypożyczalni - jeden z losową ceną, dwa z ustaloną ceną
        samochody[0] = new Samochod("Toyota", "Corolla"); // Samochód z losową ceną wynajmu
        samochody[1] = new Samochod("BMW", "X5", 400); // Samochód z ustaloną ceną wynajmu
        samochody[2] = new Samochod("Audi", "A3", 200); // Samochód z ustaloną ceną wynajmu

        // Wyświetlamy dostępne samochody
        System.out.println("Dostępne samochody:");
        for (Samochod samochod : samochody) {
            samochod.display();
        }

        // Użytkownik może zmienić cenę dla jednego z samochodów
        System.out.println("\nCzy chcesz zmienić cenę wynajmu dla jednego z samochodów? (tak/nie)");
        String odpowiedz = scanner.nextLine();

        if (odpowiedz.equalsIgnoreCase("tak")) {
            System.out.print("Podaj numer samochodu (1-3): ");
            int numerSamochodu = scanner.nextInt();
            if (numerSamochodu >= 1 && numerSamochodu <= 3) {
                System.out.print("Podaj nową cenę za dzień: ");
                double nowaCena = scanner.nextDouble();
                samochody[numerSamochodu - 1].setCenaZaDzien(nowaCena);
            } else {
                System.out.println("Nieprawidłowy numer samochodu.");
            }
        }

        // Wyświetlamy dane samochodów po ewentualnych zmianach
        System.out.println("\nZaktualizowane dane samochodów:");
        for (Samochod samochod : samochody) {
            samochod.display();
        }

        scanner.close();
    }
}
