Ciao a tutti, ho un problema con un programma in pratica dovrei registrare le operazioni di (prelievo, somma e lettura del saldo) in una terza classe.
Nella prima ho messo il menu per interagire con l'app.
Nella seconda classe ho inserito i metodi.
E nella terza che non ho creato deve esserci un costruttore che restituisce il tipo dell'operazione che si è eseguita in conto.
La classe conto deve avere i seguenti attributi:
saldo
Operazione [] operazioni (array di oggetti)
numop (numero operazioni corrente)
Quello che proprio non riesco a fare e salvare in questo array di oggetti che poi deve comunicare con la classe 3 "operazioni" tramite un costruttore, il tipo di operazione che si sta effettuando.
numop restituisce il numero dell'operazione corrente.
Vi allego qui il mio codice:
Chi sa aiutarmi?
Nella prima ho messo il menu per interagire con l'app.
Nella seconda classe ho inserito i metodi.
E nella terza che non ho creato deve esserci un costruttore che restituisce il tipo dell'operazione che si è eseguita in conto.
La classe conto deve avere i seguenti attributi:
saldo
Operazione [] operazioni (array di oggetti)
numop (numero operazioni corrente)
Quello che proprio non riesco a fare e salvare in questo array di oggetti che poi deve comunicare con la classe 3 "operazioni" tramite un costruttore, il tipo di operazione che si sta effettuando.
numop restituisce il numero dell'operazione corrente.
Vi allego qui il mio codice:
Codice:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class GestioneConto
{
public static void main(String[] args)
{
int scelta = -1;
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
Conto conto = new Conto();
do
{
System.out.println("Benvenuto nel menu");
System.out.println("1. Effettua un versamento");
System.out.println("2. Effettua un prelievo");
System.out.println("3. Visualizza il saldo");
System.out.println("4. Visualizza operazioni effettuate");
System.out.println("5. Esci");
//eccezioni
try
{
scelta = Integer.parseInt(bufferedReader.readLine());
} catch (IOException e) {
System.err.println("Inserisci un numero valido.");
} catch (NumberFormatException e) {
System.err.println("Inserisci un numero valido.");
}
switch (scelta)
{
case 1:
conto.versamento();
break;
case 2:
conto.prelievo();
break;
case 3:
conto.getsaldo();
break;
case 4:
conto.visualizza();
break;
case 5:
break;
default:
System.err.println("Scelta non valida.");
break;
}
} while (scelta != 5);
}
}
Codice:
import java.util.Locale;
import java.util.Scanner;
public class Conto
{
Scanner leggi = new Scanner(System.in).useLocale(Locale.US);;
double saldo = 0;
double importo = 0;
int numop;
Operazioni operazioni = new Operazioni();
public void versamento()
{
try{
System.out.println("Inserisci l'importo da versare: ");
saldo = leggi.nextDouble();
//passare operazione
numop = 1;
}catch(NumberFormatException e)
{
System.err.println("Inserisci un importo valido");
}
}
public void prelievo()
{
if(saldo <= 0)
{
System.err.println("Fondi insufficienti");
}
else
{
try
{
System.out.println("Inserisci l'importo da prelevare: ");
importo = leggi.nextDouble();
saldo -= importo;
}catch(NumberFormatException e)
{
System.err.println("Inserisci un importo valido");
}
}
}
public double getsaldo()
{
System.out.println("Il saldo corrente è: " + saldo + " €");
return saldo;
}
public void visualizza()
{
}
}
Chi sa aiutarmi?