62 lines
1.6 KiB
Java
62 lines
1.6 KiB
Java
/*
|
|
* 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(){}
|
|
}
|