From bb7a54de1f2686897d669d08504f6e4062e16ddb Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Tue, 25 Nov 2025 18:33:16 +0100 Subject: [PATCH] aggiungiVoceMenu --- src/fatturascontrini/FatturaScontrini.java | 54 +++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/src/fatturascontrini/FatturaScontrini.java b/src/fatturascontrini/FatturaScontrini.java index def5473..9f6733d 100644 --- a/src/fatturascontrini/FatturaScontrini.java +++ b/src/fatturascontrini/FatturaScontrini.java @@ -446,7 +446,7 @@ public class FatturaScontrini { pausa(); break; case 2: - // ordinazione = placeOrdinazione(ordinazione); + aggiungiVoceMenu(); pausa(); break; case 3: @@ -544,6 +544,58 @@ public class FatturaScontrini { return failedLoginCount; } + static void aggiungiVoceMenu() { + String nome; + String prezzo; + StringBuilder sb = new StringBuilder(); + System.out.print("Inserire il nome della nuova voce: "); + nome = sc.nextLine().trim(); + System.out.print("Inserire il prezzo della nuova voce: "); + prezzo = Double.toString(prezzo()); + + if (prezzo.contains(",")) { + prezzo = prezzo.replace(",", "."); + } + + try (BufferedWriter bw = new BufferedWriter(new FileWriter(PATH_MENU, true))) { + sb.append(nome); + sb.append(": "); + sb.append(prezzo); + sb.append(" €\n"); + + bw.write(sb.toString()); + } catch (IOException e) { + System.out.println(ERRORE_FILE + e.getMessage()); + } + } + + static double prezzo() { + boolean error; + double ritorno = -1; + do { + error = false; + + System.out.print("Inserire il prezzo da acquistare: "); + + try { + ritorno = sc.nextDouble(); + sc.nextLine(); + + if (ritorno <= 0) { + System.out.println("Errore: non è possibile impostare un prezzo minore di zero."); + pausa(); + error = true; + } + } catch (InputMismatchException _) { + System.out.println(ERRORE_DEFAULT); + pausa(); + error = true; + } + } while (error); + + return ritorno; + } + static void fattura() { boolean error; String formatoDataInserimento = "dd/MM/yyyy";