ciao a tutti, il mio problema è il seguente:
vorrei sapere come fare a capire se un oggetto è un intero o una stringa
io faccio un test di questo tipo
if(oggetto instanceof Integer)
purtroppo non funziona, come devo fare???
grazie
ciao a tutti, il mio problema è il seguente:
vorrei sapere come fare a capire se un oggetto è un intero o una stringa
io faccio un test di questo tipo
if(oggetto instanceof Integer)
purtroppo non funziona, come devo fare???
grazie
------
Quando un uomo siede un'ora in compagnia di una bella ragazza, sembra sia passato un minuto. Ma fatelo sedere su una stufa per un minuto e gli sembrerà più lungo di qualsiasi ora. Questa è la relatività.
Non capisco... un int non è un oggetto, quindi la funzione instanceof non ha senso... String è un oggetto, quindi puoi usare la funzione instanceof per differenziare due variabili di due oggetti diversi.
Se il tuo problema è sapere se una stringa contiene un numero oppure no, puoi usare il metodo parseInt() statico per Integer: se il metodo ti ritorna un'eccezione di tipo NumberFormatException allora l'oggetto non rappresenta un intero.
Se il problema non è questo, posta un po' di codice...
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
Veramente ha scrittoOriginariamente inviato da LeleFT
Non capisco... un int non è un oggetto, quindi la funzione instanceof non ha senso... String è un oggetto, quindi puoi usare la funzione instanceof per differenziare due variabili di due oggetti diversi.
che sintatticamente e' corretto. :tongue:codice:instanceof Integer
Se pero' si ha una variabile di tipo int, il compilatore non dovrebbe vederla come istanza di Integer e quindi il codice non funzionera' mai.
Secondo me c'e' un'altra soluzione per scrivere quel programma, mi pare strano che una variabile venga utilizzata indipendentemente per int e String... Ma sono solo supposizioni.![]()
ChReAn
-------------------
Slackware 9.1 powered
Ho capito, ma quindi come posso fare per eseguire queste istruzioni:
oggetto = Console.readLine("Inserisci l'oggetto");
if(oggetto instanceof Integer)
{
a = (Integer)oggetto;
misura = misura + a.intValue();
}
else
{
b = (String)oggetto;
misura = misura + b.length();
}
grazie
------
Quando un uomo siede un'ora in compagnia di una bella ragazza, sembra sia passato un minuto. Ma fatelo sedere su una stufa per un minuto e gli sembrerà più lungo di qualsiasi ora. Questa è la relatività.
Per risponderti bisogna sapere cosa restituisce il metodo readLine() della classe Console. Se readLine() restituisce un Object, che di volta in volta può essere un Integer o una String il codice è corretto. Se readLine() restituisce una String, però vuoi distinguere il caso in cui la stringa restituita rappresenta un intero, puoi usare il medodo suggerito da LeLeFT:
String oggetto = Console.readLine("Inserisci l'oggetto");
try{
misura = misura + Integer.parseInt(oggetto);
catch(NumberFormatException e){
misura = misura + oggetto.length();
}
Ciao.