• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Problema risolto [Java] Input da tastiera

gedamial

Utente Senior
Autore del topic
9 Giugno 2010
1.937
69
Miglior risposta
0
Salve.

E' da 30 minuti che ho iniziato con il Java e volevo chiedervi: come si ottiene l'input da tastiera di stringhe, double e float?

Come faccio con gli INT:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Con gli int uso nextInt(). Potreste dirmi come fare con le stringhe, double e float?

Grazie in anticipo!
 
Salve.

E' da 30 minuti che ho iniziato con il Java e volevo chiedervi: come si ottiene l'input da tastiera di stringhe, double e float?

Come faccio con gli INT:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Con gli int uso nextInt(). Potreste dirmi come fare con le stringhe, double e float?

Grazie in anticipo!

ti sconsiglio di usare scanner, bensì usa un BufferedReader che ha dei metodi proprio per la lettura di caratteri.

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

ovviamente importa java.io ^^
 
  • Like
Reactions: 1 person
Un piccolo appunto: non è che studiare 5 linguaggi alla volta porta a qualcosa. Ho come l'impressione che tu appena arrivi ad un ostacolo (vedi i socket in c) ti fermi, mandi all'aria tutto e speri che cambiando linguaggio le cose si semplifichino. Il problema è invece che se non hai le base teoriche di fondo è abbastanza inutile conoscete la sintassi di un linguaggio. Quindi secondo me ti conviene focalizzarti su un linguaggio e capirne tutti i concetti. La sintassi è "secondaria".

Comunque, per arricchire il post di TBH, puoi usare anche readInt() e readDouble() se non ricordo male. E poi ti conviene crearti una classe apposta per semplificarti la vita e non scrivere tutte le volte quella pappardella. :emoji_slight_smile:
 
ti sconsiglio di usare scanner, bensì usa un BufferedReader che ha dei metodi proprio per la lettura di caratteri.

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

ovviamente importa java.io ^^

Cioè fammi capire una cosa. Per gli int, float, double uso lo scanner e per le stringe il BufferedReader? O potrei usare quest'ultimo per tutti i tipi di variabile?

EDIT:
@Dvdxseo no. I socket ho deciso di abbandonarli su tutti i linguaggi. Il mio intento è imparare molti linguaggi e porli tutti sullo stesso livello di conoscenza in modo da avere un grosso "bagaglio" su tutti i linguaggi. Fidati, non si tratta di ostacoli altrimenti lo avrei detto tranquillamente
 
Ultima modifica:
Se usi readLine() poi devi parsare la stringa con il tipo che vuoi. Tipo Integer.parseInt() o Double.parseDouble().
 
  • Like
Reactions: 1 person
@Dvdxseo si può usare anche nextInt() e nextDouble() ma in genere se proprio si vuole utilizzare per leggere da console , cosa che reputo inadatta per la classe Scanner, c'è anche next() che restituisce una stringa e poi basta eseguire il parsing . ovviamente il nome Scanner, non è dato a caso dato serve per analizzare un InputStream , una stringa, un file o un channel.

Ecco perché fin da subito l'ho esclusa come soluzione per la lettura da console.
 
Ultima modifica:
@Dvdxseo si può usare anche readInt() e readDouble() ma in genere se proprio si vuole utilizzare per leggere da console , cosa che reputo inadatta per la classe Scanner, c'è anche next() che restituisce una stringa e poi basta eseguire il parsing . ovviamente il nome Scanner, non è dato a caso dato serve per analizzare un InputStream , una stringa, un file o un channel.

Ecco perché fin da subito l'ho esclusa come soluzione per la lettura da console.

Mi da errore se uso readInt()

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Errore:
Perfavore, Entra oppure Registrati per vedere i Link!
 
Pardon, è che io usavo una classe home-made e mi ero fatto quei due metodi, mi sono confuso xD
 
non esiste readInt , come detto da davide sopra devi eseguire il parsing.
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Infatti io così ho fatto, ma tu avevi detto "si può usare anche readInt() e readDouble() " :emoji_relieved:

Comunque ho già provato con int, stringhe e double e con gli array. Tutto per il meglio :emoji_smiley:

Aggiungo reputazione. Grazie mille!!!

EDIT:

Ultima domandina che non poteva mancare: a cosa serve programmare Java in questo modo (console)?
 
Ultima modifica:
@HabboFanNumero1 mi riferivo a scanner ^^ che tra l'altro è un token quindi è nextInt etc...

serve per capire le basi , di solito tutta le teoria si studia sull'ambiente console ... dato che con awt o swing si aggiunge la gestione eventi che è un discorso abbastanza complesso ^^
 
@HabboFanNumero1 mi riferivo a scanner ^^ che tra l'altro è un token quindi è nextInt etc...

serve per capire le basi , di solito tutta le teoria si studia sull'ambiente console ... dato che con awt o swing si aggiunge la gestione eventi che è un discorso abbastanza complesso ^^

Grazie mille ^^ risolto!