124 votes

Comment lire une valeur entière à partir de l'entrée standard en Java

Quelle classe puis-je utiliser pour lire une variable entière en Java?

158voto

polygenelubricants Points 136838

Vous pouvez utiliser java.util.Scanner (API):

import java.util.Scanner;

//...

Scanner in = new Scanner(System.in);
int num = in.nextInt();

Il peut aussi marquer d'entrée avec une expression régulière, etc. L'API a des exemples et il y a beaucoup d'autres dans ce site (par exemple, Comment faire pour garder un scanner de lancer des exceptions lorsque le mauvais type est entré?).

34voto

missingfaktor Points 44003

Si vous utilisez Java 6, vous pouvez utiliser l'un des éléments suivants pour lire un entier à partir de la console:

 int n = Integer.parseInt(System.console().readLine());
 

18voto

Srivastav Reddy Points 91

Ici, je fournis 2 exemples pour lire une valeur entière à partir de l'entrée standard

Exemple 1

 import java.util.Scanner;
public class Maxof2
{ 
  public static void main(String args[])
  {
       //taking value as command line argument.
        Scanner in = new Scanner(System.in); 
       System.out.printf("Enter i Value:  ");
       int i = in.nextInt();
       System.out.printf("Enter j Value:  ");
       int j = in.nextInt();
       if(i > j)
           System.out.println(i+"i is greater than "+j);
       else
           System.out.println(j+" is greater than "+i);
   }
 }
 

Exemple 2

 public class ReadandWritewhateveryoutype
{ 
  public static void main(String args[]) throws java.lang.Exception
  {
System.out.printf("This Program is used to Read and Write what ever you type \nType  quit  to Exit at any Moment\n\n");
    java.io.BufferedReader r = new java.io.BufferedReader (new java.io.InputStreamReader (System.in));
     String hi;
     while (!(hi=r.readLine()).startsWith("quit"))System.out.printf("\nYou have typed: %s \n",hi);
     }
 }
 

Je préfère le premier exemple, c'est facile et assez compréhensible.
Vous pouvez compiler et exécuter les programmes JAVA en ligne sur ce site: http://ideone.com

12voto

thelost Points 4691

Vérifier celui-ci:

 public static void main(String[] args) {
    String input = null;
    int number = 0;
    try {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        input = bufferedReader.readLine();
        number = Integer.parseInt(input);
    } catch (NumberFormatException ex) {
       System.out.println("Not a number !");
    } catch (IOException e) {
        e.printStackTrace();
    }
}
 

2voto

Michael Aaron Safyan Points 45071

Jetez un coup d'œil à Teletype.java à partir du modèle de projet Java . Je crois que c'est exactement l'utilitaire que vous voulez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X