diff --git a/src/benzinaio_java/Rifornimento.java b/src/benzinaio_java/Rifornimento.java index bbdf700..051db8d 100644 --- a/src/benzinaio_java/Rifornimento.java +++ b/src/benzinaio_java/Rifornimento.java @@ -4,24 +4,22 @@ */ package benzinaio_java; -import java.util.Random; - /** * * @author Verde */ public class Rifornimento { -readonly string tipoCarburante; + final String tipoCarburante; double litriErogatiComplessivi = 0; double costoComplessivo = 0; - readonly double costoAlLitro; + final double costoAlLitro; - public Rifornimento(string p_tipoCarburante, double p_costoAlLitro) { + public Rifornimento(String p_tipoCarburante, double p_costoAlLitro) { this.tipoCarburante = p_tipoCarburante; this.costoAlLitro = p_costoAlLitro; } - public (double, double) Erogazione() { + /*public (double, double) Erogazione() { Random r = new(); (double, double) ritorno; ritorno.Item1 = double.Round(r.Next(1, 30) + r.NextDouble(), 3); //arrotonda l'erogazione casuale a 3 cifre decimali @@ -29,7 +27,7 @@ readonly string tipoCarburante; this.litriErogatiComplessivi += ritorno.Item1; this.costoComplessivo = ritorno.Item2; return ritorno; - } + }*/ public double GetLitriErogatiComplessivi() { return this.litriErogatiComplessivi; @@ -39,7 +37,7 @@ readonly string tipoCarburante; return this.costoComplessivo; } - public string GetTipoCarburante() { + public String GetTipoCarburante() { return this.tipoCarburante; } } \ No newline at end of file diff --git a/src/benzinaio_java/benzinaio_java.java b/src/benzinaio_java/benzinaio_java.java index c402e43..badb6b6 100644 --- a/src/benzinaio_java/benzinaio_java.java +++ b/src/benzinaio_java/benzinaio_java.java @@ -21,6 +21,7 @@ public class benzinaio_java { static Scanner sc = new Scanner(System.in); public static void main(String[] args) { + Rifornimento rifornimenti[] = CreaBenzinaio(); int scelta = -1; do { @@ -55,8 +56,7 @@ public class benzinaio_java { Pausa(); break; } - } - catch (InputMismatchException e) { + } catch (InputMismatchException e) { System.out.println("Errore: scelta non valida."); Pausa(); } @@ -69,18 +69,27 @@ public class benzinaio_java { } static Rifornimento[] CreaBenzinaio() { - Random r = new(); + Random r = new Random(); + Rifornimento ritorno[]; - const double COSTO_BENZINA = 1.885; - const double COSTO_GASOLIO = 1.812; - int totalePompe = r.Next(1, 30); //limito il numero di pompe totali a 30 per evitare di usare 10 GB di RAM - int totaleBenzina = r.Next(totalePompe); //creo un numero casuale di pompe di benzina. Se non ce ne sono, allora sono fuori servizio - Rifornimento[] ritorno = new Rifornimento[totalePompe]; - for (int i = 0; i < totaleBenzina; i++) { - ritorno[i] = new Rifornimento("benzina super", COSTO_BENZINA); - } - for (int i = totaleBenzina; i < totalePompe; i++) {//riempio il resto dell'array con pompe di gasolio. Non possono essere fuori servizio - ritorno[i] = new Rifornimento("gasolio", COSTO_GASOLIO); + final double COSTO_BENZINA = 1.885; + final double COSTO_GASOLIO = 1.812; + int totalePompe = r.nextInt(2, 30); // limito il numero di pompe totali a 30 per evitare di usare 10 GB di RAM. + // Il minimo รจ 2 per avere sempre almeno una pompa per tipo. + if (totalePompe == 2) { + ritorno = new Rifornimento[totalePompe]; + ritorno[0] = new Rifornimento("benzina super", COSTO_BENZINA); + ritorno[1] = new Rifornimento("gasolio", COSTO_GASOLIO); + } else { + int totaleBenzina = r.nextInt(1, totalePompe); // creo un numero casuale di pompe di benzina. + ritorno = new Rifornimento[totalePompe]; + for (int i = 0; i < totaleBenzina; i++) { + ritorno[i] = new Rifornimento("benzina super", COSTO_BENZINA); + } + for (int i = totaleBenzina; i < totalePompe; i++) {// riempio il resto dell'array con pompe di gasolio. Non + // possono essere fuori servizio + ritorno[i] = new Rifornimento("gasolio", COSTO_GASOLIO); + } } return ritorno; }