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:


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()
	{
		
	}
}