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

    Controllo su stringa

    Salve a tutti,

    dovrei creare un metodo che mi restituisca un booleano, questo metodo prendi in input una stringa e deve verificare che la stringa rappresenti un numero compreso da 1 a 100.

    public boolean controllaStringa(String valore){}

    Le stringhe che devo passare nel metodo possono essere anche stringhe formate da caratteri, quindi può capitare strighe di questo tipo: asfad, as112, cda...ecc ,in questo caso il metodo mi restituira false.

    Faccio un esempio :

    23 -> true
    105 -> false
    as12 -> false
    1,33 -> false
    55 -> true

    Cosa mi consigliate di fare ?
    Tento prima di trasformarela stringa in un intero, e poi controllare che sia fra 1 e 100, in caso l a trasformazione nn avvenga restituisco false.


    :master:

    Ciao
    Omme se nasce e brigante se more
    Ma fino all’ultimo avimma sparà
    E si murimm menate nu sciore
    E na preghiera pè sta libertà

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Controllo su stringa

    Originariamente inviato da seatleon
    Cosa mi consigliate di fare ?
    Tento prima di trasformarela stringa in un intero, e poi controllare che sia fra 1 e 100, in caso l a trasformazione nn avvenga restituisco false.
    Esatto: Integer.parseInt(), se ti dà l'eccezione NumberFormatException, allora false, altrimenti testi il valore.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    ok.....grazie

    ecco il metodo

    private boolean controllaStringa(String valore){

    int valMax = 100;
    int valMin = 0;

    try{
    int v = new Integer(valore);
    if(v >= valMin && v <= valMax)
    return true;
    else
    return false;

    }catch(NumberFormatException e){return false;}

    }
    Omme se nasce e brigante se more
    Ma fino all’ultimo avimma sparà
    E si murimm menate nu sciore
    E na preghiera pè sta libertà

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da seatleon
    ecco il metodo
    [...]
    Sì, è ok. Però così stai usando il cosiddetto "unboxing". Cioè passare da un wrapper (Integer) a un tipo primitivo (fattibile solo con Java 5 in poi).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    si.....sto lavorando con la 1.5,

    il mio dubbio è quello che se un giorno vorrei considerare anche la virgola ????

    La cosa si complica di molto, che ne pensi ?

    Omme se nasce e brigante se more
    Ma fino all’ultimo avimma sparà
    E si murimm menate nu sciore
    E na preghiera pè sta libertà

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da seatleon
    il mio dubbio è quello che se un giorno vorrei considerare anche la virgola ????
    Se intendi dire gestire valori in "virgola mobile", basta usare i double.

    double d = Double.parseDouble (stringa);

    oppure con unboxing:

    double d = new Double (stringa);
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7


    funziona alla grande,

    l'unico problema è che se al posto del . viene inserita la ,
    bisogna fare attenzione

    Ad esempio se la stringa è 1,3 deve essere sostituita con 1.3

    ok....grazie x l'aiuto


    ciao
    Omme se nasce e brigante se more
    Ma fino all’ultimo avimma sparà
    E si murimm menate nu sciore
    E na preghiera pè sta libertà

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da seatleon
    l'unico problema è che se al posto del . viene inserita la ,
    bisogna fare attenzione
    Dipende ... se vuoi gestire un numero in stringa "localizzata" devi usare le classi del package java.text.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    infatti......

    credo che è una funzione che implementerò cosi nn avro problemi in futuro


    Omme se nasce e brigante se more
    Ma fino all’ultimo avimma sparà
    E si murimm menate nu sciore
    E na preghiera pè sta libertà

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Esistono anche le espressioni regolari, che permettono di risolvere velocemente questo tipo di problemi.
    Se l'argomento ti interessa, puoi dare un'occhiata ai tutorial della Sun sulle .RegEx.


    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 © 2025 vBulletin Solutions, Inc. All rights reserved.