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);
}
}
}
}