Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Utilizzo parseInt

Hybrid View

  1. #1
    Se lo inserisco tra alcune parti di codice, votoPI e votoLPI non vengono riconosciuti come variabili.
    In altre parti mi da errori vari

    Ho più o meno intuito il funzionamento del parseInt ma non dove inserirlo esattamente per farlo funzionare.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cicciozza Visualizza il messaggio
    votoPI e votoLPI non vengono riconosciuti come variabili.
    votoPI e votoLPI sono due variabili LOCALI nel blocco del while ed esistono e sono "visibili" appunto solo nel blocco del white. Pertanto i due parseInt andrebbero messi appunto nel while e chiaramente dopo la dichiarazione di queste due variabili.

    E inoltre, non so come è fatta la classe Studente ma non ha granché senso che debba tenere i due voti come String.

    Quindi: i due nextToken(), ok.
    POI fai i due parseInt. Se sbuca fuori NumberFormatException è perché non sono numeri validi e quindi la riga è "malformata". Puoi segnalare l'errore all'utente e/o abortire il ciclo.
    POI a quel punto puoi creare un oggetto Studente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    ok, allora se decido di dichiararli come interi, come faccio a farli leggere al BufferedReader?
    Se modifico la classe Studente e do come metodo readLine al BR( String rigaLetta=br.readLine(); ) mi va in errore perchè non ha metodi di lettura interi

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Ma la lettura non devi cambiarla, così va bene. Una volta che hai la tua String votoPI, restuituita da nextToken(), applichi il parseInt a quella stringa, e poi al costruttore di Studente passerai l'intero ricevuto. Scegliendo se e come gestire l'errore ovviamente, come ti è stato consigliato

  5. #5
    Quote Originariamente inviata da Ansharja Visualizza il messaggio
    Ma la lettura non devi cambiarla, così va bene. Una volta che hai la tua String votoPI, restuituita da nextToken(), applichi il parseInt a quella stringa, e poi al costruttore di Studente passerai l'intero ricevuto. Scegliendo se e come gestire l'errore ovviamente, come ti è stato consigliato


    La classe Studente, accetta votoPI e votoLPI come Stringhe!
    mi spiegate come faccio a "trattarli" come interi e ridarli al costruttore come interi, visto che accetta String?

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da cicciozza Visualizza il messaggio
    La classe Studente, accetta votoPI e votoLPI come Stringhe!
    mi spiegate come faccio a "trattarli" come interi e ridarli al costruttore come interi, visto che accetta String?
    Il consiglio che ti è stato dato da andbin è proprio di dichiarare quelle variabili come interi nella classe Studente.
    Quindi una volta preso l'intero dalla stringa, passi semplicemente l'intero al costruttore.

    Questo non è obbligatorio ovviamente, puoi tenere la variabile come string, era solo un consiglio logico,visto che il voto è un numero.
    Se lo mantieni come stringa ok, non serve il parsing, ma a quel punto tutte le volte che vorrai trattare quella stringa come numero (ad esempio per fare una media, o qualsiasi altra cosa), dovrai riconvertirla in numero.

    Poi fai come vuoi
    Ultima modifica di Ansharja; 22-12-2016 a 21:36

  7. #7
    Quote Originariamente inviata da Ansharja Visualizza il messaggio
    Il consiglio che ti è stato dato da andbin è proprio di dichiarare quelle variabili come interi nella classe Studente.
    Quindi una volta preso l'intero dalla stringa, passi semplicemente l'intero al costruttore.
    Mi spieghi allora come faccio a leggere un intero con BufferedReader, che non li legge?
    cosa che avevo già chiesto qui e questa è stata la risposta:
    __________________________________________________ ___________________
    Con BufferedReader leggi "a righe" (String) e basta.
    Con StringTokenizer spezzi la riga in token (che sono sempre String!) e basta.
    E i token che ti aspetti siano interi li devi parsare TU nel modo che ritieni opportuno (es. parseInt di Integer).

    Tutto qui. Non cercare problemi dove non ce ne sono.
    __________________________________________________ ___________________

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cicciozza Visualizza il messaggio
    ok, allora se decido di dichiararli come interi, come faccio a farli leggere al BufferedReader?
    Con BufferedReader leggi "a righe" (String) e basta.
    Con StringTokenizer spezzi la riga in token (che sono sempre String!) e basta.
    E i token che ti aspetti siano interi li devi parsare TU nel modo che ritieni opportuno (es. parseInt di Integer).

    Tutto qui. Non cercare problemi dove non ce ne sono.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Con BufferedReader leggi "a righe" (String) e basta.
    Con StringTokenizer spezzi la riga in token (che sono sempre String!) e basta.
    E i token che ti aspetti siano interi li devi parsare TU nel modo che ritieni opportuno (es. parseInt di Integer).

    Tutto qui. Non cercare problemi dove non ce ne sono.


    "nel modo che ritieni opportuno"...
    Sono ore che chiedo come diavolo si usa perchè mi sto scervellando da stamattina e non riesco a capire e piuttosto che darmi una BANALE (credo per voi ) soluzione,un esempio, perdete tempo con righe e righe di cose già dette
    boh.

    nell'altro post scrivo che non so dove inserire il codice e mi rispondi "inseriscilo dove ti serve" ,

    Mi dici di non tenere i voti come string e poi riparli di usare il parseInt nel post dopo.

    Ragà, ho bisogno d'aiuto, se potete darmelo bene altrimenti amici come prima ma non mi incasinate la testa con idee poco chiare per piacere

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da cicciozza Visualizza il messaggio
    "nel modo che ritieni opportuno"...
    Sono ore che chiedo come diavolo si usa perchè mi sto scervellando da stamattina e non riesco a capire e piuttosto che darmi una BANALE (credo per voi ) soluzione,un esempio, perdete tempo con righe e righe di cose già dette
    boh.

    nell'altro post scrivo che non so dove inserire il codice e mi rispondi "inseriscilo dove ti serve" ,

    Mi dici di non tenere i voti come string e poi riparli di usare il parseInt nel post dopo.

    Ragà, ho bisogno d'aiuto, se potete darmelo bene altrimenti amici come prima ma non mi incasinate la testa con idee poco chiare per piacere

    Certo, darti la banale soluzione sarebbe molto più veloce anche per noi, ce la caveremmo in 5 minuti. Se impieghiamo il nostro tempo per darti consigli invece che scrivere la soluzione è perché non ti aiuteremmo davvero se scrivessimo la soluzione e basta.
    Impari se capisci qual'é la problematica e poi la risolvi tu, con tutto l'aiuto di cui hai bisogno ovviamente.

    La frase di andbin che hai ripreso, se guardi, dice qual è il metodo da utilizzare, ovvero parseInt di Integer.
    DEVI essere in grado di cercare nella documentazione online come dichiarare il metodo, basta scrivere su google comunque.

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