Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    107

    arraylist varabile d'istanza errore

    ciao a tutti! Ho un problema con una classe java, in pratica non mi da errore su un arraylist che creo come variabile d'istanza di tipo una altra classe da me creata! mi spiego meglio postando le due classi da me create:
    codice:
    package Banca;
    public class Movimento {
    
        private int giorno, operazione;
        
        public Movimento(int giorno, int operazione){
            this.giorno=giorno;
            this.operazione=operazione;
        }
    
        public Movimento(int operazione){
            giorno=0;
            this.operazione=operazione;
        }
        
        public int getGiorno(){
            return giorno;
        }
        
        public int getOperazione(){
            return operazione;
        }
        
        public String toString(){
            return "il giorno: " + giorno + "e' stata effettuata l'operazione: " + operazione;
        }
    
    }
    quella sopra non mi da problemi in compilazione ora posto quella che mi da errore
    codice:
    package Banca;
    public class ContoCorrente{
    
        private static int numeroconto = 0;
        private int conto = numeroconto++;
        private int saldo;
        private String intestatario;
        private ArrayList<Movimento> movimenti= new ArrayList<Movimento>();
        
        public ContoCorrente(String intestatario, Movimento m){
            this.intestatario=intestatario;
            movimenti.add(m);
            saldo=m.getOperazione();
        }
        
        
    
    }
    il comando che do, una volta postomi nella cartella dove trovo entrambe, è il seguente:
    :/Banca$ javac *.java
    ContoCorrente.java:8: error: cannot find symbol
    private ArrayList<Movimento> movimenti= new ArrayList<Movimento>();
    ^
    symbol: class ArrayList
    location: class ContoCorrente
    ContoCorrente.java:8: error: cannot find symbol
    private ArrayList<Movimento> movimenti= new ArrayList<Movimento>();
    ^
    symbol: class ArrayList
    location: class ContoCorrente
    2 errors

    grazie mille a chi mi aiuta

  2. #2
    Manca l'import di ArrayList nella classe ContoCorrente

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    107
    hai ragione grazie! posso chiederti un altra cosa? non so come fare a implementare il seguente metodo:

    public double giacenzaMedia(int oggi)

    Ritorna il valor medio del saldo dal giorno zero fino al giorno precedente a quello corrente, indicato dal valore dell’argomento oggi). Esempio:
    il conto myConto ha due movimenti, cio ` e un saldo iniziale di 100 euro il giorno 0 e un versamento di 20 euro il giorno 4 . Quindi, se oggi vale 12 , il onto nei 12 giorni (dal giorno 0 al giorno 11 ) aveva 100 euro per i primi 4 giorni e 120 euro per i rimanenti 8 giorni. La giacenza media ` e quindi pari a (100 * 4 + 20 * 8) = 12 euro

    utilizzando le classi da me costruite

  4. #4
    Su questo forum non si svolgono esercizi per altri ( e sono anche d'accordissimo su questa cosa) quindi quello che posso dirti e di cercare di dare la tua soluzione al problema e poi eventualmente discuterla insieme a noi.
    P.S
    quella espressione che hai postato e un qualcosa che matematicamente non si può guardare, in che base si dovrebbe risolvere per avere un risultato uguale a 12 ?

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Un consiglio:

    Invece di fare

    ArrayList<Movimento> movimenti= new ArrayList<Movimento>();

    usa

    List<Movimento> movimenti= new ArrayList<Movimento>();

    Entra nell'ottica di lavorare per contratto e non per tipo concreto
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    107
    grazie alex!
    francesco hai ragione io ho provato a fare una roba del genere:
    codice:
    public double giacenzaMedia(int oggi){
        double res = 0;
        for (Movimento m: movimenti){
          int i = 0;
          if (m.getOperazione()==getSaldoG(i))
          i++;
          res=(m.getOperazione()*i)+res;
            }
            return res/oggi;
    dove il nuovo metodo getSaldoG(int oggi) è:
    codice:
    public int getSaldoG(int g){
            int x = 0;        
            for (Movimento m: movimenti){
                if (m.getGiorno()==g)
                x=m.getOperazione();
            }
            return x;
        }
    non ci sono errori sintattici e me lo compila solo in modo sbagliato!

Tag per questa discussione

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.