Opzione 1 + menù migliorato

This commit is contained in:
La Programmatrice Verde
2025-09-30 10:00:41 +02:00
parent 70aae00377
commit 945b7925cb
2 changed files with 111 additions and 33 deletions

View File

@@ -5,6 +5,7 @@
package rettangoli_quadrati;
import java.util.Scanner;
import java.util.InputMismatchException;
/**
*
@@ -19,17 +20,17 @@ public class Rettangoli_Quadrati {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
int scelta;
Rettangolo forme[] = Init();
int scelta, nextPosizioneLibera = 0;
do {
System.out.println("Scegliere un'opzione:");
System.out.println("1. Ingresso auto");
System.out.println("2. Stampa posti occupati");
System.out.println("3. Stampa posti liberi");
System.out.println("4. Uscita auto");
System.out.println("1. Inserimento dimensioni");
System.out.println("2. Confronta aree");
System.out.println("0. Esci");
System.out.print("Opzione: ");
try {
scelta = sc.nextInt();
sc.nextLine();
@@ -37,19 +38,21 @@ public class Rettangoli_Quadrati {
case 0:
break;
case 1:
System.out.println(garage.IngressoAuto());
forme[nextPosizioneLibera] = CreaRettangolo(IngressoDati(1), IngressoDati(2));
forme[nextPosizioneLibera + 1] = CreaQuadrato(IngressoDati(3));
nextPosizioneLibera = +2;
System.out.println("Forme create con successo");
Pausa();
break;
case 2:
System.out.println(garage.GetPostiOccupati());
Pausa();
break;
case 3:
System.out.println(garage.GetPostiLiberi());
Pausa();
break;
case 4:
System.out.println(garage.UscitaAuto());
// System.out.println(garage.GetPostiOccupati());
//Debug: Controllo che funzioni tutto
System.out.println(forme[0].dimensioneUno);
System.out.println(forme[0].dimensioneDue);
System.out.println(forme[0].isQuadrato);
System.out.println(forme[1].dimensioneUno);
System.out.println(forme[1].dimensioneDue);
System.out.println(forme[1].isQuadrato);
Pausa();
break;
default:
@@ -58,6 +61,11 @@ public class Rettangoli_Quadrati {
break;
}
} catch (InputMismatchException e) {
System.out.println("Opzione non valida.");
Pausa();
scelta = -1;
}
} while (scelta != 0);
}
@@ -65,4 +73,73 @@ public class Rettangoli_Quadrati {
System.out.println("Premere un tasto per continuare. . .");
sc.nextLine();
}
static Rettangolo[] Init() {
boolean error;
int dimensione = 0;
do {
error = false;
try {
System.out.println("Quante coppie di forme gestire? ");
dimensione = sc.nextInt();
sc.nextLine();
if (dimensione <= 0) {
System.out.println("Errore: inserire una dimensione "
+ (dimensione == 0 ? "diversa da" : "maggiore di") + " 0.");
Pausa();
error = true;
}
} catch (InputMismatchException e) {
System.out.println("Errore: dimensione non valida.");
Pausa();
error = true;
}
} while (error);
return new Rettangolo[dimensione];
}
static double IngressoDati(int p_selettore) {
double ritorno = 0;
boolean error;
do {
error = false;
try {
if (p_selettore == 1) {
System.out.println("Inserisci la prima dimensione del rettangolo: ");
} else if (p_selettore == 2) {
System.out.println("Inserisci la seconda dimensione del rettangolo: ");
} else if (p_selettore == 3) {
System.out.println("Inserisci dimensione del quadrato: ");
}
ritorno = sc.nextDouble();
sc.nextLine();
if (ritorno <= 0) {
System.out.println("Errore: inserire una dimensione "
+ (ritorno == 0 ? "diversa da" : "maggiore di") + " 0.");
Pausa();
error = true;
}
} catch (InputMismatchException e) {
System.out.println("Errore: dimensione non valida.");
Pausa();
error = true;
}
} while (error);
return ritorno;
}
static Rettangolo CreaRettangolo(double p_dimensioneUno, double p_dimensioneDue) {
return new Rettangolo(p_dimensioneUno, p_dimensioneDue, false);
}
static Rettangolo CreaQuadrato( double p_dimensione) {
return new Rettangolo(p_dimensione, p_dimensione, true);
}
}

View File

@@ -1,8 +1,9 @@
package rettangoli_quadrati;
public class Rettangolo {
private boolean isQuadrato;
private double dimensioneUno, dimensioneDue;
//Debug: public per testare che funzioni tutto
public boolean isQuadrato;
public double dimensioneUno, dimensioneDue;
public Rettangolo(double p_dimensioneUno, double p_dimensioneDue, boolean p_isQuadrato) {
this.dimensioneUno = p_dimensioneUno;