Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323

    [java] ciclo su una eccezione

    Salve, ho questo codice messo in una classe:

    codice:
    String s = k.nextLine();      
          try {
                double d = Double.parseDouble(s.trim());
                return d;
            } catch (NumberFormatException nfe) {
             System.out.println("NumberFormatException: " + nfe.getMessage());
          }
            return 0;
    per controllare se è un numero double:
    nel programma principale vorrei mettere un ciclo finché l'utente non metta il numero con il punto.

    codice:
                     double a;
            double b;
            System.out.println("Scrivi il tuo nome");
            String n = UserInput.uiReadLine("Inserisci il tuo nome: ?");
            System.out.println(n);
            System.out.println("A: ");
            a = UserInput.readDobule();
            System.out.println("B: ");
            b = UserInput.readDobule();
            int scelta = JOptionPane.showConfirmDialog(null,"Vuoi vedere il risultato? ","Scelta ", JOptionPane.YES_NO_OPTION);
            if(scelta == 0)
            {
                System.out.println("OK");
                System.out.println(a+b);
            
            }else
            {
                System.out.println("NO!");
            }
    come posso fare?

    ho provato fare cosi:

    while(a)

    ma non funziona..

    scusatemi se scrivo cosi.. perché sto studiando java da 3 giorni ed vorrei implementare una classe userinput dove c'è la interazione con l'utente.

    Ora e' un po fuori dalla normalità , appena so qualcosa di più la metto a posto.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da LedGiallo Visualizza il messaggio
    nel programma principale vorrei mettere un ciclo finché l'utente non metta il numero con il punto.
    Ci sono 2 questioni:
    a) Voler obbligare l'utente a mettere il punto per specificare un double non mi pare una cosa molto sensata a livello concettuale. Comunque parseDouble non ti aiuta in questo. Se l'utente mette un valore intero valido es. 123 allora parseDouble lo parsa senza problemi. Insomma, parseDouble non si offende se non si mette il punto!
    b) Il tuo metodo non fa uscire fuori NumberFormatException, se c'è questa eccezione stampi un messaggio e poi restituisci 0. Questo 0 non è molto sensato, visto che non avresti poi modo di distinguere un 0 "eccezione" da un 0 valore valido.

    Ripensa bene il tutto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    ciao, il return 0 , non lo messo io ma me la messo netbeans con gli suggerimenti .. quindi dici che è errato?

    Per il while intendevo di fargli ripetere esempio "Inserire il primo numero" se si sbaglia a mettere un carattere invece un numero.

    Per il parsedouble hai ragione tu. E mi sono accorto che è facoltativo e solo a lui che quando deve fare l'operazione. giusto?

    grazie mille hai del codice di suggerimento per metterlo nel mio?

    grazie di nuovo e buona giornata.

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.