inserisciProdotto
This commit is contained in:
@@ -4,6 +4,9 @@
|
||||
*/
|
||||
package listaspesa;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.InputMismatchException;
|
||||
import java.util.Scanner;
|
||||
|
||||
@@ -18,8 +21,11 @@ public class listaSpesa {
|
||||
*/
|
||||
|
||||
static Scanner sc = new Scanner(System.in);
|
||||
Prodotto magazzino[];
|
||||
Prodotto scontrino[];
|
||||
static Prodotto magazzino[];
|
||||
static Prodotto scontrino[];
|
||||
static int dimensioneMagazzino = 0, dimensioneScontrino = 0, indiceMagazzino = 0;
|
||||
static String datePattern = "dd/MM/yyyy";
|
||||
static SimpleDateFormat sdf = new SimpleDateFormat(datePattern);
|
||||
|
||||
public static void main(String[] args) {
|
||||
int scelta = -1;
|
||||
@@ -41,7 +47,15 @@ public class listaSpesa {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
|
||||
System.out.print("Quanti prodotti inserire? ");
|
||||
dimensioneMagazzino = sc.nextInt();
|
||||
sc.nextLine();
|
||||
|
||||
magazzino = new Prodotto[dimensioneMagazzino];
|
||||
|
||||
for (int i = 0; i < dimensioneMagazzino; i++, indiceMagazzino++) {
|
||||
inserisciProdotto();
|
||||
}
|
||||
pausa();
|
||||
break;
|
||||
case 2:
|
||||
@@ -57,8 +71,7 @@ public class listaSpesa {
|
||||
pausa();
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (InputMismatchException e) {
|
||||
} catch (InputMismatchException e) {
|
||||
System.out.println("Errore: scelta non valida.");
|
||||
pausa();
|
||||
}
|
||||
@@ -70,19 +83,114 @@ public class listaSpesa {
|
||||
sc.nextLine();
|
||||
}
|
||||
|
||||
public static void inserisciProdotto(){
|
||||
public static void inserisciProdotto() {
|
||||
String nome;
|
||||
float prezzo = 0;
|
||||
float qta = 0;
|
||||
float scontoFidelityCard = 0;
|
||||
Date dataScadenza = null;
|
||||
String tipoMateriale = null;
|
||||
boolean error, isAlimentare = true;
|
||||
String scelta;
|
||||
|
||||
System.out.print("Inserire il nome: ");
|
||||
nome = sc.nextLine();
|
||||
|
||||
try {
|
||||
do {
|
||||
error = false;
|
||||
System.out.print("Inserire il prezzo: ");
|
||||
prezzo = sc.nextFloat();
|
||||
sc.nextLine();
|
||||
if (prezzo <= 0) {
|
||||
System.out.println("Errore: non è possibile inserire un prezzo minore o uguale a zero.");
|
||||
pausa();
|
||||
error = true;
|
||||
}
|
||||
} while (error);
|
||||
} catch (InputMismatchException e) {
|
||||
System.out.println("Errore: numero non valido.");
|
||||
}
|
||||
|
||||
try {
|
||||
do {
|
||||
error = false;
|
||||
System.out.print("Inserire lo sconto con carta fedeltà (in %): ");
|
||||
scontoFidelityCard = sc.nextFloat() / 100;
|
||||
sc.nextLine();
|
||||
if (scontoFidelityCard < 0) {
|
||||
System.out.println("Errore: non è possibile inserire uno sconto negativo.");
|
||||
pausa();
|
||||
error = true;
|
||||
}
|
||||
} while (error);
|
||||
} catch (InputMismatchException e) {
|
||||
System.out.println("Errore: numero non valido.");
|
||||
}
|
||||
|
||||
do {
|
||||
error = false;
|
||||
System.out.print("Il prodotto è un genere alimentare? [S/n]");
|
||||
scelta = sc.nextLine().toLowerCase();
|
||||
|
||||
if (scelta.equals("y") || scelta.equals("s")) {
|
||||
isAlimentare = true;
|
||||
|
||||
boolean dateError;
|
||||
do {
|
||||
dateError = false;
|
||||
try {
|
||||
System.out.print("Inserire la data di scadenza nel formato " + datePattern + ": ");
|
||||
dataScadenza = sdf.parse(sc.nextLine());
|
||||
} catch (ParseException e) {
|
||||
System.out.println("Errore nella lettura della data.");
|
||||
pausa();
|
||||
dateError = true;
|
||||
}
|
||||
} while (dateError);
|
||||
|
||||
} else if (scelta.equals("n")) {
|
||||
isAlimentare = false;
|
||||
|
||||
System.out.println("Inserire il materiale del prodotto: ");
|
||||
tipoMateriale = sc.nextLine();
|
||||
} else {
|
||||
System.out.println("Errore: opzione non valida.");
|
||||
pausa();
|
||||
error = true;
|
||||
}
|
||||
} while (error);
|
||||
|
||||
try {
|
||||
do {
|
||||
error = false;
|
||||
System.out.print("Inserire la quantità: ");
|
||||
qta = isAlimentare ? sc.nextFloat() : (float) sc.nextInt();
|
||||
sc.nextLine();
|
||||
if (qta <= 0) {
|
||||
System.out.println("Errore: non è possibile inserire meno di un prodotto.");
|
||||
pausa();
|
||||
error = true;
|
||||
}
|
||||
} while (error);
|
||||
} catch (InputMismatchException e) {
|
||||
System.out.println("Errore: numero non valido.");
|
||||
}
|
||||
|
||||
magazzino[indiceMagazzino] = isAlimentare ? new Alimentare(nome, prezzo, qta, scontoFidelityCard, dataScadenza)
|
||||
: new NonAlimentare(nome, prezzo, qta, scontoFidelityCard, tipoMateriale);
|
||||
|
||||
}
|
||||
|
||||
public static void inserisciDatiScontrino(){
|
||||
public static void inserisciDatiScontrino() {
|
||||
|
||||
}
|
||||
|
||||
public static void stampaScontrino(){
|
||||
public static void stampaScontrino() {
|
||||
|
||||
}
|
||||
|
||||
public static boolean ricercaProdotto(String nome, boolean isAlimentare){
|
||||
public static boolean ricercaProdotto(String nome, boolean isAlimentare) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user