Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Problema metodi Java

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    51

    Problema metodi Java

    Salve ragazzi,scusate il disturbo ma vi pongo un nuovo quesito,che mi sta facendo davvero incavolare...Il quesito in questione è il seguente...Devo costruire una classe java+ un main tale che da input inserisco i valori delle transazioni e da output,ricevo il saldo finale del mio conto corrente...Se non è chiaro posterò la traccia,per ora posto i codici e vi dico l'errore,praticamente non mi legge " la somma delle transazioni,necessarie poi per calcolarmi il saldo finale sul conto..."

    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;
     
    public ContoCorrente (String nome,String cognome,int numeroconto,double saldo,double v[],int n){
     this.nome=nome;
     this.cognome=cognome;
     this.numeroconto=numeroconto;
     this.saldo=saldo;
     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=0;
        for(int i=0;i<n;i++)
    {if (v[i]>0){saldo1+=v[i];}else{saldo1-=v[i];}
    }return saldo1;}
    }
    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();}
         ContoCorrente cont=new ContoCorrente(nome,cognome,numeroconto,saldo,v,n);
         double saldo1;
         saldo1=cont.Operazioni(v);
         double saldo2=saldo-saldo1;
    System.out.println("Il valore finale del saldo è "+saldo1);
    
    
        }
        
    }
    P.s. nel main ho inserito come stampa saldo 1 per verificare che l'errore fosse proprio lì....Grazie dell'attenzione....

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    51
    Una banca vuole informatizzare il monitoraggio del conto corrente dei propri clienti. In particolare
    ogni conto corrente viene caratterizzato tramite:
    • nome e cognome del cliente;
    • numero identificativo del conto;
    • saldo.
    Si tenga conto dei seguenti aspetti:
    • il numero di conto non può essere mai modificato
    • il saldo può essere cambiato solo per mezzo di prelievi e depositi;
    • bisogna poter leggere il saldo rimanente sul conto;
    • bisogna poter leggere prelievi e depositi compiuti sul conto.
    Si scriva in linguaggio Java un programma in cui:
    1. viene creata una classe opportuna per la gestione del conto corrente secondo quanto
    richiesto precedentemente;
    2. viene implementato un main per gestire la creazione di un nuovo conto corrente;
    3. viene data al cliente la possibilità di aprire il conto con un saldo iniziale diverso da zero;
    4. si può tenere conto dei movimenti compiuti da ogni correntista. (Help: a tal proposito si crei
    un vettore in cui vengono registrati i diversi movimenti e si modifichi di conseguenza la
    classe relativa al conto corrente precedentemente creata in modo da tener conto del numero
    di movimenti. Si supponga di limitare il numero di movimenti al più a 30).
    5. vengono stampati a video i movimenti compiuti da ogni correntista.

    Ecco la traccia per chi ne ha bisogno o per capire al meglio i passaggi....

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    51
    scusate ho sbagliato,a scrivere potete spostarla in Java...Mi scuso ancora enormemente...

  4. #4
    Nel costruttore stai sovrascrivendo la variabile v passata come parametro.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    51
    ed è questo l'errore che mi da sempre come saldo1=0??Qualsiasi transazione io compia??

  6. #6
    Secondo me si, perchè sovrascrivi l'array v e quindi non trova più i dati da sommare. Usa un altro nome per la variabile v del costruttore.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    51
    io però non capisco il costruttore è prima del metodo perchè dici che viene sovrascritto l'array del metodo??

  8. #8
    Nel main hai creato e popolato l'array v. Poi chiami il costruttore, passi v come parametro e crei un nuovo oggetto double che chiami v che quindi va a sovrascrivere quella passata come parametro. Chiaro?

    Prima di chiedere ancora spiegazioni magari prova la soluzione così vediamo se il problema è quello. Si tratta solo di cambiare il nome di una variabile.

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    51
    niente non va altre soluzioni???

  10. #10
    Puoi farmi vedere cosa hai fatto? Dal codice originale che hai postato basterebbe rimuovere questa riga
    codice:
    v=newdouble[this.n];
    e togliere anche il parametro double v[]

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