Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14

Discussione: Problema metodi Java

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    51
    ho fatto esattamente come dicevi tu,ma nulla....sempre 0 mi esce...se vuoi ti metto il nuovo codice,che è identico a quello solo con le due righe cancellate...

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    51
    io ho rinominato invece,ora provo a fare quest'operazione...avevo rinominato quelle due voci anzichè toglierle...SUbito controllo...

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    La seguente riga del costruttore è sbagliata, ma va corretta, non eliminata (perchè??)


    codice:
    v=new double[this.n];

    Tu stai passando al costruttore un valore "n", ma stai dimensionando l'array con il valore "this.n" (ovvero con il valore della variabile di istanza, non quella passata al costruttore), che è 0.

    Quindi, o assegni il valore di "n" a "this.n", prima di quella riga, oppure semplicemente dimensioni il vettore "v" con il valore di "n" e non di "this.n"...


    codice:
    // Soluzione 1:
    public ContoCorrente( ... ) {
       ...
       this.n = n;
       v = new double[this.n];
    }
    
    
    // Soluzione 2:
    public ContoCorrente( ... ) {
       ...
       v = new double[n];
    }

    Non ho guardato il resto del codice. Consiglio la soluzione 1 perchè magari poi nel resto della classe vorrai usare il valore della variabile di istanza "n", che non stai inizializzando nel costruttore.


    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

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    51
    Grazie Lele come al solito sei efficacissimo,a onor di cronaca ho dovuto sistemare anche il metodo"operazioni" ragion per cui,per chi ne avesse bisogno o semplicemente avesse curiosità,posto la mia soluzione,naturalmente questi metodi possono essere modificati,ottimizzati ecc...

    Classe Main:
    codice:
     public static void main(String[] args) {        // TODO code application logic here
            Scanner sc=new Scanner(System.in);
            System.out.println("Inserire il numero delle transazioni");
            int n=sc.nextInt();
            double v[]=new double[n];
            System.out.println("Inserire il nome del correntista");
            String nome = sc.next();
           System.out.println("Inserire il cognome del correntista");
           String cognome = sc.next();
          System.out.println("Inserire il numero di conto");
          int numeroconto=sc.nextInt();
         System.out.println("Inserire il saldo iniziale del correntista");
         double saldo=sc.nextDouble();
         for (int i=0;i<n;i++){System.out.println("Inserire il valore della transazione");
             v[i]=sc.nextDouble();}
         double saldo1=0;
         ContoCorrente cont=new ContoCorrente(nome,cognome,numeroconto,saldo,n,saldo1,v);
        saldo1=cont.Operazioni(v,saldo1);
         double saldo2=saldo+saldo1;
    System.out.println("Il valore finale del saldo è "+saldo2);
    for (int i=0;i<n;i++)
    {System.out.println("Le transazioni effettuate sono"+v[i]);}
    
    
        }
        
    }

    Classe Conto Corrente:




    codice:
    public class ContoCorrente {private String nome;private String cognome;private int numeroconto;private double saldo;private double v[];private int n;
     private double saldo1;
    public ContoCorrente (String nome,String cognome,int numeroconto,double saldo,int n,double saldo1,double v[]){
     this.nome=nome;
     this.cognome=cognome;
     this.numeroconto=numeroconto;
     this.saldo=saldo;
     this.n=n;
     v=new double [this.n];
    }
    public String getnome(){return nome;}
    public String getcognome(){return cognome;}
    public int getnumeroconto(){return numeroconto;}
    
    
    
    
    public double Operazioni(double v[],double saldo1){
        for(int i=0;i<n;i++)
    { saldo1+=v[i];}
    return saldo1;}
    }
    P.S.Lele grazie mille per l'aiuto per una cavolata mi stavo impazzendo
    Ultima modifica di hhh6; 01-10-2014 a 12:54

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 © 2026 vBulletin Solutions, Inc. All rights reserved.