PDA

View Full Version : [JAVA]input da tastiera


TeX-mAn
15-05-2008, 16:25
Ciao a tutti.Non riesco a capire come dare un input da tastiera in java.In C utilizzavo la scanf( ); In java???
So che per l'output si utilizza System.out.println( );

Grazie.

MasterDany
15-05-2008, 16:43
ma conosci java o ti stai improvissando programmatore? :O

MasterDany
15-05-2008, 16:51
piccolo esempio supponiamo di avere un calcolatrice che somma due numeri basta che dal scrivi cosi:
java nomefile 1 2
cosi il tuo programma somma i numeri 1 e 2 però primadivi convertirli in int.

wingman87
15-05-2008, 17:09
piccolo esempio supponiamo di avere un calcolatrice che somma due numeri basta che dal scrivi cosi:

cosi il tuo programma somma i numeri 1 e 2 però primadivi convertirli in int.
:confused: Ma cosa stai dicendo?

@TeX-mAn: che versione del JDK stai usando?

Don[ITA]
15-05-2008, 17:13
Guardati la classe Scanner ;)

ciauz

MasterDany
15-05-2008, 17:16
scusate ho sbagliato intendevo che quando si programma in java con il metodo main() si mette una firma che definisca come parametro input un array di stringhe.
scusate :fagiano:

m.distrutti
15-05-2008, 17:20
Ciao a tutti.Non riesco a capire come dare un input da tastiera in java.In C utilizzavo la scanf( ); In java???
So che per l'output si utilizza System.out.println( );

Grazie.

ciao Tex se stai studiando in una scuola ti verrà proposto la SavitchIn ma non fermarti su quella classe che non fa parte manco dell'api,
fa come dice Don :D

buono studio =P

TeX-mAn
15-05-2008, 17:27
ma conosci java o ti stai improvissando programmatore? :O

-,- lo sto seguendo all'uni.Solo che alcune cose non mi sono chiare....

TeX-mAn
15-05-2008, 17:28
;22464883']Guardati la classe Scanner ;)

ciauz

Dove posso vedere le classi?

VICIUS
15-05-2008, 17:34
Sul sito di sun c'è tutta la documentazione che ti serve.
http://java.sun.com/javase/6/docs/api/

wingman87
15-05-2008, 18:10
Sul sito di sun c'è tutta la documentazione che ti serve.
http://java.sun.com/javase/6/docs/api/

Aggiungo che è anche possibile scaricarla integralmente per una consultazione offline dalla sezione download:
http://java.sun.com/javase/downloads/index.jsp

Ti chiedevo la versione del JDK che usi perché alle superiori ci avevano fatto usare la 1.4.2 dove non c'era la classe Scanner.

ianaz
15-05-2008, 18:54
Per l'input puoi utilizzare il metodo IN

http://www.ianaz.ch/language/8/cat/14/show=71-Java_Metodo_IN

;)

mone.java
16-05-2008, 09:11
Ciao a tutti.Non riesco a capire come dare un input da tastiera in java.In C utilizzavo la scanf( ); In java???
So che per l'output si utilizza System.out.println( );

Grazie.

Per avere l'imput da tastiera devi importare i seguenti pacchetti:

import java.io.BufferedReader;
import java.io.InputStreamReader;

dopodichè all'interno del programma inizializzi le due classi in questo modo

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

L'InputStreamReader serve a leggere i caratteri inseriti da tastiera solo chepermette di leggere un carattere alla volta, per risolvere questo inconveniente si usa la classe BufferedReader che ci permette di leggere tutta una linea tramite il metodo readLine() che ritorna una stringa.

esempio:


import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Somma {

public static void main(String[] args) throws Exception {

InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
int num1,num2;
String line;

System.out.print("Inserire primo numero:");
line=br.readLine();
num1=Integer.parseInt(line);

System.out.print("Inserire Secondo numero:");
line=br.readLine();
num2=Integer.parseInt(line);

System.out.println("La somma dei due numeri è:"+(num1+num2));
}
}



Mi raccomando di mettre throws Exception o il blocco try catch poiché genera una IOException

Se hai dubbi non esitare a chiedere.

TeX-mAn
17-05-2008, 19:51
Grazie mille.Una sola cosa.Come faccio a dare un input che sia diverso da una stringa.Se scrivo int a=in.readLine( ); non mi fa inserire l'input.
Anche se scrivo a=in.read( );

Don[ITA]
17-05-2008, 21:12
da tastiera non puoi altro che ottenere un input sotto forma di stringa.
Se vuoi degli interi basta parsare la stringa che hai ottenuto:

int numero = Integer.parseInt(stringa);

Ciauz

wingman87
18-05-2008, 01:15
Beh no, se usi Scanner hai dei metodi apposta per leggere tutti i tipi di dato semplici

Don[ITA]
18-05-2008, 11:55
Beh no, se usi Scanner hai dei metodi apposta per leggere tutti i tipi di dato semplici

Cavolo hai ragione :stordita: Son talmente abituato a leggere stringhe con scannere che non ricordavo si potessero leggere anche altri dati :doh: :doh: :doh: