Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2014
    Messaggi
    2

    programma conto bancario, problema iterazione

    buonasera a tutti
    ho da poco iniziato con java e sto cercando di fare un programmino facile che mi permetta di manipolare una variabile oggetto "mioConto", che appunto rappresenta un ipotetico saldo bancario, con i metodi di prelievo, deposito e visualizzazione saldo attuale
    per gestire l'interfaccia ho usato la classe JOptionPane e sono riuscito ad ottenere un risultato carino ma c'è un problema: vorrei che a fine programma mi chiedesse se voglio fare altre operazioni, in modo da tornare alla scelta dell'operazione da eseguire nel caso dica di si e che mi faccia uscire dal programma nel caso dica di no.
    ho tentato di utilizzare un do-while racchiudente l'intero sviluppo del programma per poi mettere un if in fondo al fine di farmi uscire nel momento che scelga di non fare più operazioni.. tuttavia in questo modo la richiesta di continuare mi viene posta all'inizio e non alla fine, essendo io obbligato a inizializzare la variabile che definisce la risposta a tale domanda... ho provato qualcosa ma non riesco a cavarne un ragno dal buco, mi appello alla vostra esperienza

    di seguito il sorgente :
    import javax.swing.*;


    public class ContoBancario
    {
    public static void main(String [] args)
    {


    // assegno a mioConto valore di input
    String conto1 = JOptionPane.showInputDialog("Immetti saldo conto iniziale");
    double conto = Double.parseDouble(conto1);


    ContoB mioConto = new ContoB(conto);


    int r = JOptionPane.showConfirmDialog(null, "vuoi fare altro?", "lol", JOptionPane.YES_NO_OPTION);
    do
    {


    // costruzione interfaccia scelta dell'operazione
    Object[] options = {"Prelievo",
    "Deposito",
    "Visualizza Importo"};
    int n = JOptionPane.showOptionDialog(null,
    "Che operazione vuoi eseguire?",
    "CONTO BANCARIO",
    JOptionPane.YES_NO_CANCEL_OPTION,
    JOptionPane.QUESTION_MESSAGE,
    null,
    options,
    options[2]);


    //controllo scelta operazione
    switch(n)
    {
    case 0:
    //acquisizione importo da prelevare e operazione di prelievo
    String cifraPrelievo = JOptionPane.showInputDialog("Immetti importo da prelevare");
    double cifraF_Prelievo = Double.parseDouble(cifraPrelievo);
    mioConto.prelievo(cifraF_Prelievo);


    // costruzione interfaccia risultato del prelievo
    Object[] ImportoF_Prelievo = {"OK"};
    int prel = JOptionPane.showOptionDialog(null,
    "Importo finale = " + mioConto.importo(),
    "CONTO BANCARIO",
    JOptionPane.PLAIN_MESSAGE,
    JOptionPane.QUESTION_MESSAGE,
    null,
    ImportoF_Prelievo,
    ImportoF_Prelievo[0]);


    break;


    case 1:
    //acquisizione importo da depositare e operazione di deposito
    String cifraDeposito = JOptionPane.showInputDialog("Immetti importo da depositare");
    double cifraF_Deposito = Double.parseDouble(cifraDeposito);
    mioConto.deposito(cifraF_Deposito);


    // costruzione interfaccia risultato del deposito
    Object[] ImportoF_Deposito = {"OK"};
    int dep = JOptionPane.showOptionDialog(null,
    "Importo finale = " + mioConto.importo(),
    "CONTO BANCARIO",
    JOptionPane.PLAIN_MESSAGE,
    JOptionPane.QUESTION_MESSAGE,
    null,
    ImportoF_Deposito,
    ImportoF_Deposito[0]);


    break;


    case 2:
    // costruzione interfaccia mostrante saldo attuale
    Object[] ImportoF = {"OK"};
    int m = JOptionPane.showOptionDialog(null,
    "Saldo attuale = " + mioConto.importo(),
    "CONTO BANCARIO",
    JOptionPane.PLAIN_MESSAGE,
    JOptionPane.QUESTION_MESSAGE,
    null,
    ImportoF,
    ImportoF[0]);


    break;


    }








    }
    while(r == 0);




    if(r == 1)
    {
    System.exit(1);
    }








    }




    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2014
    Messaggi
    2
    PROBLEMA RISOLTO
    Sorgente modificato:

    import javax.swing.*;


    public class ContoBancario
    {
    public static void main(String [] args)
    {


    // assegno a mioConto valore di input
    String conto1 = JOptionPane.showInputDialog(null,
    "Immetti saldo conto iniziale",
    " CONTO BANCARIO",
    JOptionPane.INFORMATION_MESSAGE);


    double conto = Double.parseDouble(conto1);


    ContoB mioConto = new ContoB(conto);


    // definisco l'iterazione con lo stesso valore della condizione all'interno dello while, in modo che iteri in ogni caso
    int iterazione = 0;


    /*================================================= ================================================== ================================================== =============================================*/


    while(iterazione == 0)
    {


    // costruzione interfaccia scelta dell'operazione
    Object[] options = {"Prelievo",
    "Deposito",
    "Visualizza Saldo",
    "Esci"};
    int n = JOptionPane.showOptionDialog(null,
    " Che operazione vuoi eseguire?",
    " CONTO BANCARIO",
    JOptionPane.YES_NO_CANCEL_OPTION,
    JOptionPane.PLAIN_MESSAGE,
    null,
    options,
    options[2]);


    /*================================================= ================================================== ================================================== =============================================*/


    //controllo scelta operazione
    switch(n)
    {
    case 0:
    //acquisizione importo da prelevare e operazione di prelievo
    String cifraPrelievo = JOptionPane.showInputDialog(null, "Immetti importo da prelevare",
    " CONTO BANCARIO",
    JOptionPane.INFORMATION_MESSAGE);
    double cifraF_Prelievo = Double.parseDouble(cifraPrelievo);
    mioConto.prelievo(cifraF_Prelievo);


    // costruzione interfaccia risultato del prelievo
    Object[] ImportoF_Prelievo = {"OK"};
    int prel = JOptionPane.showOptionDialog(null,
    "Importo finale = " + mioConto.importo(),
    " CONTO BANCARIO",
    JOptionPane.PLAIN_MESSAGE,
    JOptionPane.INFORMATION_MESSAGE,
    null,
    ImportoF_Prelievo,
    ImportoF_Prelievo[0]);


    //selezione nuova operazione / uscita
    int a = JOptionPane.showConfirmDialog(null, "Vuoi eseguire un'altra operazione?",
    " CONTO BANCARIO",
    JOptionPane.YES_NO_OPTION);


    if(a == 1)
    {
    System.exit(1);
    }


    break;


    /*================================================= ================================================== ================================================== =============================================*/


    case 1:
    //acquisizione importo da depositare e operazione di deposito
    String cifraDeposito = JOptionPane.showInputDialog(null,
    "Immetti importo da depositare",
    " CONTO BANCARIO",
    JOptionPane.INFORMATION_MESSAGE);


    double cifraF_Deposito = Double.parseDouble(cifraDeposito);
    mioConto.deposito(cifraF_Deposito);


    // costruzione interfaccia risultato del deposito
    Object[] ImportoF_Deposito = {"OK"};
    int dep = JOptionPane.showOptionDialog(null,
    "Importo finale = " + mioConto.importo(),
    " CONTO BANCARIO",
    JOptionPane.PLAIN_MESSAGE,
    JOptionPane.INFORMATION_MESSAGE,
    null,
    ImportoF_Deposito,
    ImportoF_Deposito[0]);


    //selezione nuova operazione / uscita
    int b = JOptionPane.showConfirmDialog(null, "Vuoi eseguire un'altra operazione?",
    " CONTO BANCARIO",
    JOptionPane.YES_NO_OPTION);


    if(b == 1)
    {
    System.exit(1);
    }


    break;


    /*================================================= ================================================== ================================================== =============================================*/


    case 2:
    // costruzione interfaccia mostrante saldo attuale
    Object[] ImportoF = {"OK"};
    int m = JOptionPane.showOptionDialog(null,
    "Saldo attuale = " + mioConto.importo(),
    " CONTO BANCARIO",
    JOptionPane.PLAIN_MESSAGE,
    JOptionPane.INFORMATION_MESSAGE,
    null,
    ImportoF,
    ImportoF[0]);


    //selezione nuova operazione / uscita
    int c = JOptionPane.showConfirmDialog(null, "Vuoi eseguire un'altra operazione?",
    " CONTO BANCARIO",
    JOptionPane.YES_NO_OPTION);


    if(c == 1)
    {
    System.exit(1);
    }




    break;


    /*================================================= ================================================== ================================================== =============================================*/


    case 3:
    //comando di uscita dal programma
    System.exit(1);


    }
    }
    }
    }

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.