Prototipo CreaBenzinaio

This commit is contained in:
La Programmatrice Verde 2025-10-09 11:22:25 +02:00
parent 54fa07166f
commit 6d8f06f508
2 changed files with 53 additions and 3 deletions

View File

@ -4,10 +4,42 @@
*/
package benzinaio_java;
import java.util.Random;
/**
*
* @author Verde
*/
public class Rifornimento {
readonly string tipoCarburante;
double litriErogatiComplessivi = 0;
double costoComplessivo = 0;
readonly double costoAlLitro;
public Rifornimento(string p_tipoCarburante, double p_costoAlLitro) {
this.tipoCarburante = p_tipoCarburante;
this.costoAlLitro = p_costoAlLitro;
}
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
ritorno.Item2 = double.Round(ritorno.Item1 * costoAlLitro, 2); //arrotonda il costo a 2 cifre decimali
this.litriErogatiComplessivi += ritorno.Item1;
this.costoComplessivo = ritorno.Item2;
return ritorno;
}
public double GetLitriErogatiComplessivi() {
return this.litriErogatiComplessivi;
}
public double GetCostoComplessivo() {
return this.costoComplessivo;
}
public string GetTipoCarburante() {
return this.tipoCarburante;
}
}

View File

@ -5,6 +5,7 @@
package benzinaio_java;
import java.util.InputMismatchException;
import java.util.Random;
import java.util.Scanner;
/**
@ -24,9 +25,9 @@ public class benzinaio_java {
do {
System.out.println("Scegliere un'opzione:");
System.out.println("1. ");
System.out.println("2. ");
System.out.println("3. ");
System.out.println("1. Rifornimento benzina super");
System.out.println("2. Rifornimento gasolio");
System.out.println("3. Visualizza totali");
System.out.println("0. Esci");
System.out.print("Opzione: ");
@ -66,4 +67,21 @@ public class benzinaio_java {
System.out.println("Premere un tasto per continuare. . .");
sc.nextLine();
}
static Rifornimento[] CreaBenzinaio() {
Random r = new();
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);
}
return ritorno;
}
}