Newsgroup: it.comp.java
Titolo: Non riesco ad uscire dal programma!

Schiappa I chiede aiuto!
Ho creato un euroconvertitore ma ho un problema, quando ho eseguito il prog.
e voglio uscire compare il mess. di allerta:
 "Impossibile chiudere il programma automaticamente.Chiudere il programma
con i comandi appropriati......
Chiudendo l'applicazione adesso tutti i dati verranno persi......"
Cosa manca?
Vi allego il codice intero(sperando che non vi annoiate), e dato che ci sono
volevo sapere se qualcuno aveva qualche idea di come fare per non dover
riscrivere + volte parti di codice sostanzialmente uguali (bisognerebbe
creare degli oggetti da istanziare) che io non so come fare, del resto ho
iniziato a programmare solo 3 sett. fa, e mica mi chiamo Mandrake.
 *****************
import javax.swing.*;
import java.text.*;
public class Euroconvertitore2
{
public static final double EURO_IN_LIRE = 1936.27;
public static void main(String[] args)
   {
 // finestra di input
 String input = JOptionPane.showInputDialog
 ("Vuoi convertire in lire o in euro?");
 if(input.equalsIgnoreCase("lire"))
    {
 String euro = JOptionPane.showInputDialog
 ("immetti la cifra in euro");
 //convertto la stringa in un num.
 double E = Double.parseDouble(euro);
 //converto in euro
 double RisultatoInLire = E*EURO_IN_LIRE;
 //formatto l'output in modo tale che non abbia cifre decimali
NumberFormat format1 = NumberFormat.getNumberInstance();
format1.setMaximumFractionDigits(0);
String formatlire = format1.format(RisultatoInLire);
 //stampo il risultato
 System.out.println(euro +" Euro equivalgono a "+formatlire+" Lire");
    }
 else if(input.equalsIgnoreCase("euro"))
    {
 String lire = JOptionPane.showInputDialog
 ("Immetti la cifra in lire");
 double L = Double.parseDouble(lire);
 double RisultatoInEuro = L/EURO_IN_LIRE;
NumberFormat format1 = NumberFormat.getNumberInstance();
format1.setMaximumFractionDigits(2);
String formateuro = format1.format(RisultatoInEuro);
 System.out.println(lire +" Lire equvalgono a "+formateuro+" Euro");
    }
    else
          {
    String errore = JOptionPane.showInputDialog
    ("Ho detto lire o euro,deficente e non "+ input);
    if(errore.equalsIgnoreCase("lire"))
       {
    String euro = JOptionPane.showInputDialog
    ("immetti la cifra in euro");
    //convertto la stringa in un num. intero
    double E = Double.parseDouble(euro);
    //converto in euro
    double RisultatoInLire = E*EURO_IN_LIRE;
    //stampo il risultato
NumberFormat format1 = NumberFormat.getNumberInstance();
format1.setMaximumFractionDigits(0);
String formatlire = format1.format(RisultatoInLire);
     //stampo il risultato
 System.out.println(euro +" Euro equivalgono a "+formatlire+" Lire");
        }
    else if(errore.equalsIgnoreCase("euro"))
        {
    String lire = JOptionPane.showInputDialog
    ("Immetti la cifra in lire");
    double L = Double.parseDouble(lire);
    double RisultatoInEuro = L/EURO_IN_LIRE;
NumberFormat format1 = NumberFormat.getNumberInstance();
format1.setMaximumFractionDigits(2);
String formateuro = format1.format(RisultatoInEuro);
       System.out.println(lire +" Lire equvalgono a "+formateuro+" Euro");
              }
          else
    {
     System.out.println("Lasciamo perdere che č meglio");
     }
    }
   }
}
 ****************
        SALUTI SCHIAPPA I

import java.text.*;
[CUT]
Mi pare che hai fatto un po di casino mischiando componenti swing con
I/O da console...
Ora non impazzisco dalla voglia di leggere tutto il codice, ad ogni
modo un bel System.exit(0); alla fine ti chiude l'applicazione, che se
no resta *viva* per causa del thread grafico...
Comunque secondo me dovresti fare una *scelta di campo*: vuoi una vera
e propria GUI, o un'applicazione da console?
Good luck,
Mauri.
-- 
La forza di gravitŕ č un falso mito,
č la Terra che succhia!

 Schiappa I chiede aiuto!
[...] CUT.....scusa...ma già ti vai ad incasinare con del codice così
incasinato?
Dice bene Maurizio...non mischiare la console cone la classe Swing...o l'una
o l'altra.
Cmq appunto, con un bel System.exit(0); risolvi tutto.