Gestione delle eccezioni per input non valido

di il
2 risposte

Gestione delle eccezioni per input non valido

Ciao a tutti, mi sono appena iscritto, ho dato un'occhiata al forum e non ho visto una sezione dedicata alle presentazioni... se dovesse esistere chiedo venia! ho 18 anni e sono uno studente del quarto anno di un itis con indirizzo informatica. come linguaggio di programmazione utilizziamo java e come compilatore usiamo BlueJ... praticamente sto progettando un programmino semplice semplice per preparare poi un'interrogazione con il mio prof di informatica che è un pochino incerto sulla mia sufficienza .-. ci sto lavorando da pochi giorni e devo dire che piu' o meno ci sono quasi, in pratica è un convertitore di valute: ho utilizzato la gui e la swing di java e fin qui tutto bene... ma non so come fare a catturare un'eccezione quando non inserisco niente nella jtextfield, ho provato in diversi modi, penso di averle provate tutte e averci perso un casino di tempo, con il metodo isEmpty(), con il null e con l'equals, ma niente.
ho creato un metodo che praticamente quando clicco il tasto converti dovrebbe convertire i soldi, ma se non metto niente nella jtextfield e premo mi si apre il terminale con l'errore dell'eccezione.
praticamente dovrei catturare l'eccezione quando inserisco una stringa non valida e far comparire un messaggio di errore all'utente, mi potreste gentilmente aiutare? se serve il codice lo posto subito.

2 Risposte

  • Re: Gestione delle eccezioni per input non valido

    Hai provato qualcosa del tipo
    stringa = stringa.trim();
    If(stringa.equals("")) {
    ...errore
    }
    ?

    Cmq posta il codice
  • Re: Gestione delle eccezioni per input non valido

    Eccomi, scusami ma ero a scuola, ora ti posto il codice del metodo che dovrebbe gestire le eccezioni
    nel codice ho messo tutte le prove che ho fatto, comunque il try e il catch per i numeri negativi funziona, ma io vorrei che se non metto niente nella jtextfield venga eseguito un JOptionPane.showMessageDialog che dica all'utente che deve per forza mettere un numero...
    ora provo con quel metodo che mi hai postato tu, grazie, intanto questo è questo il codice:
       public void controllo()
             {
              double d;
              String s;
              s = valuta1.getText();
              try
              {
                  d = Double.parseDouble(valuta1.getText());
                }
                catch (NumberFormatException e)
                {
                    //System.out.println("Please enter a real number!");
                    JOptionPane.showMessageDialog(this, "Please enter a real number!");
                    return;
                }
                
            
                 while(s == null) {
                     try {
                         s = valuta1.getText();
                        } catch (NumberFormatException e) {
     
                            JOptionPane.showMessageDialog(this, "Please enter a real number!");
                        }
                    }   
                    
                     while(s == "") {
                     try {
                         s = valuta1.getText();
                        } catch (IllegalStateException e) {
                            JOptionPane.showMessageDialog(this, "Please enter a real number!");
                        }
                    }  
               
        
               
                if (d <= 0.0)
                {
                    //System.out.println("Please enter a positive number!");
                     JOptionPane.showMessageDialog(this, "Please enter a positive number!");
                    return;
                }
     
                  if(valuta1.getText().length()==0)
                JOptionPane.showMessageDialog(null, "enter text in textfield");
        
                }
    quindi? qualcuno mi potrebbe aiutare?
Devi accedere o registrarti per scrivere nel forum
2 risposte