2012-07-26 10 views
0

Je suis juste en train d'essayer d'apprendre Java et ma question est comment je lis quelque chose que l'utilisateur tape?simple stdin lecture en java

Lorsque j'ai appris le C++, la première chose que j'ai apprise était cin/cout mais en java j'ai vu des tutoriels qui parlent de GUI avant de lire les entrées de l'utilisateur.

Pour le dire simplement, comment puis-je faire de ce programme en java:

int main() 
    { 
     int foo; 
     cin >> foo; 
     cout << foo; 
     return 0; 
    } 

quelque chose comme ceci:

public class foo { 
    public static void main(String[] args) 
    { 
     int foo; 
     READ FROM IN-BUFFER; 
     System.out.println(foo); 
    } 
+0

Wow! C'est le premier "Java ne fonctionne pas comme C++" que j'ai vu. (C'est généralement l'inverse). Mais vous ne l'apprendrez jamais de cette façon - Procurez-vous un bon livre! –

Répondre

3

Vous devez utiliser un scanner:

import java.util.*; 

public class foo { 

    public static void main(String[] args) { 
     int foo; 
     Scanner scnr = new Scanner(System.in); 
     foo = scnr.nextInt(); 
     System.out.println(foo); 
    } 

} 

Ici, le scanner lit entrée de System.in (le clavier), affecte la valeur de l'entrée foo. Si l'entrée n'est pas un int, une exception se produira.

1

paramètre args contient des paramètres que vous passez habituellement en cours d'exécution (java className param1) votre programme

Si vous souhaitez demander une entrée à l'utilisateur, vous pouvez utiliser la classe Scanner.

0

ressemblerait à ceci:

public class Foo { 
    public static void main(String[] args) 
    { 
     Scanner in = new Scanner(System.in); 
     int foo = in.nextInt(); // read int from 'STDIN' 
     System.out.println(foo); 
    } 
} 

Voir plus dans la Scanner API documentation.