Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    178

    problema con il metodo getText

    Salve a tutti. Sto creando un programmino in Java in cui l'utente scrive un numero nella JTextField e premendo il tasto JButton stampa il risultato tramite una JLabel. L'utente deve inserire un numero intero.

    Il problema si verifica quando devo assegnare ad una variabile di tipo int il valore della JTextField. Il compilatore mi dice che devo usare un valore di tipo String per assegnare alla variabile il valore presente nella JTextField, ma siccome devo operare con valori di tipo intero e non con i caratteri non so come fare per assegnare alla variabile questo benedetto valore.

    codice:
    int numero;
    		
    numero = testo.getText();
    Qualcuno sa come devo fare ? C'è un metodo alternativo migliore ?

    Grazie.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    getText() ritorna un oggetto String... se vuoi "assegnare" il valore numerico rappresentato dalla stringa ad una variabile di tipo intero, va ovviamente convertito in numero:

    codice:
    numero = Integer.parseInt( testo.getText() );

    Ovviamente con tutte le accortezze del caso... se l'utente scrive "cippalippa" al posto del numero, dovrai prevedere dei controlli.


    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

  3. #3
    puoi convertirlo in un intero:
    codice:
    int numero = Integer.parseInt(testo.getText());
    in questo modo il numero che scrivi dentro la casella, viene trasformato in intero.
    se però nella casella non scrivi un numero, incappi in una eccezione.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da Bombonera Visualizza il messaggio
    Il problema si verifica quando devo assegnare ad una variabile di tipo int il valore della JTextField.
    Ovviamente no, un String non è certo assegnabile direttamente ad un int (o altro tipo primitivo)!
    Devi effettuare un "parsing" e il modo più semplice è usare parseInt di java.lang.Integer.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    205
    Ormai non faccio Java da un bel po' di tempo, ma penso che prima dovrei inserire il tutto in una stringa per forza.

    Dovrai creare una variabile di tipo stringa (String) e poi assegnare il dato, se è un numero intero, tramite "Integer.parseInt" alla variabile di tipo intero
    Sito Modellismo (Non ancora completo)

  6. #6
    ragazzi siete immensi...4 risposte in 4 minuti
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    178
    Grazie per le risposte
    invece per passare da int a string come devo fare ?

    Ad esempio:

    label.setText(numero);

  8. #8
    Utente di HTML.it L'avatar di mat20000
    Registrato dal
    May 2015
    residenza
    Moylgrove
    Messaggi
    31
    se non ricordo male è qualcosa tipo

    string x=Integer.toString(int);

  9. #9
    Quote Originariamente inviata da Bombonera Visualizza il messaggio
    Grazie per le risposte
    invece per passare da int a string come devo fare ?

    Ad esempio:

    label.setText(numero);
    String.valueOf(numero)

    ma anche qui, incappi in eccezione se poi non passi "cippalippa" (per citare LeleFT ).

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    178
    se non ricordo male è qualcosa tipo

    string x=Integer.toString(int);
    Si funziona. Grazie per l'aiuto.

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.