/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package eserciziogarage; import java.util.Scanner; /** * * @author Verde */ public class Garage { Auto[] veicoli; private int posizioneLibera = 0; public Garage(int p_dimensione) { this.veicoli = new Auto[p_dimensione]; } private int NextPosizioneLibera() { int i = 0; for (; i < this.veicoli.length && this.veicoli[i] != null; ++i) ; return i; } private int NextPosizioneLibera(int p_i) { for (; p_i < this.veicoli.length && this.veicoli[p_i] != null; ++p_i); return p_i; } public String IngressoAuto() { Scanner sc = new Scanner(System.in); String targa, ritorno; System.out.println("Inserire la targa dell'auto: "); targa = sc.nextLine(); try{ veicoli[this.NextPosizioneLibera()] = new Auto(targa); ritorno = "L'auto è posteggiata nella posizione %d".formatted(posizioneLibera++); } catch(ArrayIndexOutOfBoundsException e){ ritorno = "Errore: il garage è pieno."; } return ritorno; } public String GetPostiOccupati() { return "I posti occupati sono da 0 a %d".formatted(--posizioneLibera); } public String GetPostiLiberi() { return "I posti liberi sono da %d a %d".formatted(--posizioneLibera, veicoli.length); } public void UscitaAuto(){} }