Vai al contenuto

Input da tastiera in Java


Messaggi raccomandati

Salve ragazzi. Il problema è semplice. Sto cercando un comando per Java che mi faccia rapidamente l'input da tastiera, per capirci meglio cerco l'equivalente della "scanf" del C. :devil:

Sono riuscito momentaneamente ad aggirare l'ostacolo utilizzando una classe esterna e delle conversioni da String a float o a int, ma è molto frustrante...sto cercando di imparare il Java venendo dal C e mi trovo abbastanza bene...per ora solo questa mancanza dell'equivalente della scanf mi manda in crisi... ;):DD

Grazie in anticipo per le risposte :devil:

Now...I think different...

iPod Nano 2GB Black

iMac 20" Core2Duo 2.16Ghz, 1.5GB RAM, 256MB VRAM

Ci SoNo "COSE" Che PoSSoNo FuNZioNaRe, PeR TuTTo iL ReSTo C'è WiNDoWs...

Link al commento
Condividi su altri siti

Grazie...il problema è che io ho già fatto una cosa analoga. Cercavo un comando immediato tipo quello per l'output:

System.out.println()

l'ideale sarebbe una cosa del tipo:

System.in. readln()

magari dotato di polimorfismo in modo da ricevere come paramtro tutti i tipi primitivi di dati e le stringhe, ma forse chiedo troppo. Fondamentalmente non mi spiego perchè sia sul C che sul "matusalemme" Pascal ci siano comandi immediati come scanf() e readln() e invece sul Java si debba fare tutto sto macello ogni volta :barella:

Now...I think different...

iPod Nano 2GB Black

iMac 20" Core2Duo 2.16Ghz, 1.5GB RAM, 256MB VRAM

Ci SoNo "COSE" Che PoSSoNo FuNZioNaRe, PeR TuTTo iL ReSTo C'è WiNDoWs...

Link al commento
Condividi su altri siti

prova la classe Scanner

Scanner scannerIO = new Scanner(System.in);

dopo per scrivere la richiesta fai normalmente

System.out.println("Quanti denti hai?");

e per leggere

int numeroDenti = scannerIO.nextInt();

magari dai un occhio alle API della classe per vedere se fa al tuo caso

Chi è lei? Il numero 2. Chi è il numero 1? Lei è il numero 6.

Link al commento
Condividi su altri siti

Altrimenti BufferedReader

InputStreamReader converter = new InputStreamReader(System.in);

BufferedReader in = new BufferedReader(converter);

String line = in.readLine();

Chi è lei? Il numero 2. Chi è il numero 1? Lei è il numero 6.

Link al commento
Condividi su altri siti

Grazie...in effetti io ho proprio usato la classe scanner,anche se il processo che ho utilizzato è un po più lungo ma mi permette una migliore leggibilità del codice...

Il problema è che non ricorderò mai a memoria queste istruzioni...tra l'altro sono diverse le acquisizioni di Int e String...e per i double,float,ecc?

E' un macello sto Java...provvederò a creare una nuova classe (contenente l'acquisizione tramite classe scanner e le rispettive conversioni nei vari tipi) che implementerò in ogni progetto...è l'unica soluzione possibile.

Continuo a rimanere allibito. Nel C è 200 volte più immediato...è assurod che in Java non ci sia qualcosa di "diretto". :DD

Now...I think different...

iPod Nano 2GB Black

iMac 20" Core2Duo 2.16Ghz, 1.5GB RAM, 256MB VRAM

Ci SoNo "COSE" Che PoSSoNo FuNZioNaRe, PeR TuTTo iL ReSTo C'è WiNDoWs...

Link al commento
Condividi su altri siti

Ti dico io come fare che Java cè l'ho fresco!

Allora...devi incapsulare i flussi di I/O presenti nelle librerie java.io;

Per un semplice input da tastiera devi fare la seguente istruzione:

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

String s=br.readLine();

In questo modo acquisisci come "caratteri", l'intera riga sino al return;

se vuoi gestire un flusso dati binario....divertiti! leggiti la documentazione Java...ma lascia perdere cè solo da perdere tempo...USA C che è 10000 volte meglio!!

Ciao

Vai...ci sono altri mondi oltre a questo. John Jake Chambers

Link al commento
Condividi su altri siti

Il C lo conosco già...

Sto seguendo un mini-master di java,ecco perchè mi serve sapere alcune cose :spamposter:

In ogni caso ho scoperto che il tutto è ancora più facilmente risolvibile con le Input Dialog...credo che userò quelle...sono anche più "carine" da vedere :D

Now...I think different...

iPod Nano 2GB Black

iMac 20" Core2Duo 2.16Ghz, 1.5GB RAM, 256MB VRAM

Ci SoNo "COSE" Che PoSSoNo FuNZioNaRe, PeR TuTTo iL ReSTo C'è WiNDoWs...

Link al commento
Condividi su altri siti

  • 2 mesi dopo...

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...