Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    82

    Valore intermedio tra due numeri

    Salve sto creando un programmino dove dati due numeri dovrebbe darmi il valore intermedio tra questi due numeri. Il problema che ho riscontrato è stato nel while e nelle sue verialibi, mi spiego meglio, scrivendo
    codice:
                    int i, j;
    				
    		i = n1.getText();
    		j = n2.getText();
    		
    		while(++i < --j);
    mi da errore sia all'int perchè lo vuole con String e sia a while. (n1 e n2 sono i due JTextField) Qualcuno sa come posso risolvere? Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Visto che getText ritorna uno String e noi vorremmo un int (tra l'altro un tipo primitivo) dobbiamo andare a cercare una qualche classe e relativo/i motodo/i che ci consentano di attuare questa conversione. Per fortuna in Java hanno creato delle classi, dette "Wrapper", che ci vengono incontro... quella che serve a noi è Integer (vedila un po' come la versione Object di int).

    http://java.sun.com/javase/6/docs/ap...g/Integer.html

    e scorrendo i suoi metodi c'è quello che fa al caso nostro: parseInt.

    Long story short:
    codice:
    int i = Integer.parseInt(tuaString);
    Prendi un po' visione delle classe Integer, Float, Double e Long perché potrebbero tornarti utili.
    Ciao!
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    82
    Grazie mille, faccio sempre lo stesso errore non mi ricordo mai di quella diamine di funzione non riesco a farla entrare nella mia testa. Volevo chiedere un'altra cosa, se invece viene scritto al posto dei numeri le lettere e naturalmente è un errore come posso farlo vedere? Magari con qualche finestra di dialogo e quindi segnalare che vanno scritti solo numeri e non lettere.

  4. #4
    Mai sentito parlare delle eccezioni e dei blocchi try/catch?
    Gutta cavat lapidem
    [La goccia scava la pietra]
    ***
    (Ovidio)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    82
    Sì, e sapevo anche di usare questo ma non so in che modo per questo ho chiesto

  6. #6
    Beh ti conviene impararle perchè è l'abc del linguaggio
    Cmq per brevità ti dico come funziona (semplificando al massimo)

    Codice PHP:
    try{
       
    // Codiche che può generare errori, cioè eccezioni
    }catch(Exception e){
       
    // Azione da intraprendere quando avviene un errore, 
       // in genere una stampa dell'errore

    Esempio:

    Codice PHP:
    try{
       
    String aNumber "3";
       
    int num Integer.parseInt(aNumber);
    }catch(
    Exception e){
       
    e.printStackTrace(); // Stampa dettagliata dell'errore

    Però imparale perchè sono importanti
    Gutta cavat lapidem
    [La goccia scava la pietra]
    ***
    (Ovidio)

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    82
    Si si in effetti ho ripreso il libro e sto rileggendo le eccezioni. Ma quindi per indicare tutte le lettere devo creare un arry giusto?

  8. #8
    Dipende da cosa deve fare il tuo programma. Volendo per indicare tutte le lettere dell'alfabeto si possono usare anche le espressioni regolari senza scomodare Array o soluzioni complicate. Il punto però è che non ho capito a cosa ti serve sta cosa esattamente
    Gutta cavat lapidem
    [La goccia scava la pietra]
    ***
    (Ovidio)

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    82
    Io voglio che in quelle JTextField siano scritti solo numeri.

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Nike00
    Io voglio che in quelle JTextField siano scritti solo numeri.
    Dipende a che "livello" vuoi gestire questo controllo.

    a) Puoi lasciare che l'utente scriva qualunque cosa nel JTextField e solo dopo, quando ti serve il valore numerico, converti il testo in numero e a quel punto puoi scoprire se è corretto o malformato.

    b) Puoi fare in modo che sia fisicamente impossibile digitare qualcosa che non sia una cifra numerica nel JTextField. Questo è fattibile ma comporta la gestione di un apposito controllo "a monte". Il modo più semplice è creare un apposito document estendendo PlainDocument.
    Vedi il mio esempio DigitsOnlyTextFields.java tra i miei Java Examples, sezione Text components.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.