Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [java] inserimento dati

    ciao a tutti

    vorrei sapere se e' possibile dire in un jOptionPane che i valori che si scrivon oposso essere solo numeri


    cioe' nel momento in cui do invio faccio un controllo e se non sono numeri (almeno 5 ) mi da un allert

    String nuovoCodice = JOptionPane.showInputDialog(this, "INSERISCI UN CODICE NUOVO");
    Indirizzo temp = elencoTelefonico.indirizzoPerCodice(nuovoCodice);
    if (!nuovoCodice.equals("")) {

    questo va bene quando non inserisco niente poi volevo aggiungere anche quello dei valori del campo

    solo che non so come scriverlo


    non so se mi sono spiegato!!! :master:
    in un aiuola di rose anche un cardo fa la sua bella figura

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Se non ho capito male tu vuoi fare in modo che, se l'utente inserisce un valore che non è un numero (una stringa qualsiasi, per esempio "Ciao"), questa stringa venga ignorata e richieda di nuovo l'inserimento. In più, il numero da inserire dovrebbe essere di 5 cifre.
    Per testare se il valore inserito è un numero o una stringa puoi vedere se, convertendolo in un intero (cinque cifre ci stanno benissimo in un int), viene sollevata un'eccezione:
    codice:
    boolean errore_intero;
    boolean altroerrore;
    String nuovocodice;
    int numero;
    do {
       errore_intero = altroerrore = false;
       nuovocodice = JOptionPane.showInputDialog(this, "INSERISCI UN CODICE NUOVO"); 
       if (!nuovocodice.equals("")) {
          try {
             numero = Integer.parseInt(nuovocodice);
          } catch (Exception e) {
             // Non è stato immesso un numero ma una stringa!
             errore_intero = true;
          }
          if (!errore_intero) {
             // a questo punto 'numero' contiene il numero introdotto 
             // controlli che sia di 5 cifre
             if (nuovocodice.length() == 5) {
                // Qui sai che è stato introdotto un numero di 5 cifre.
             } else altroerrore = true;
          }
       } else {
          altroerrore = true;
       }
    } while (errore_intero || altroerrore);
    Questo dovrebbe fare al caso tuo. Non l'ho provato, ma dovrebbe funzionare a meno di errori sintattici o qualche errore semantico che mi è sfuggito.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.