Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema con codice

  1. #1

    Problema con codice

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

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Al di là del fatto che non ho capito cosa significa questa frase

    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.

    Ho delle obiezioni:

    1) Il costruttore di una classe non serve a comunicare nulla. Un costruttore, lo dice il nome stesso, serve a "costruire" un'istanza di una determinata classe.

    2) Nel metodo "versamento()" dovresti sommare al saldo l'importo indicato, non sostituirlo. Esattamente come nel metodo "prelievo()" effettui correttamente lo storno dell'importo dal saldo.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Ho risolto da me, si può chiudere.
    ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.