358 votes

Comment obtenir une entrée utilisateur de base pour java

J'ai commencé à apprendre le c++ puis le c# il y a quelques jours, mais j'ai abandonné prématurément parce que je voulais quelque chose qui fonctionne sur plusieurs plateformes, et je n'ai jamais compris les pointeurs. J'ai donc finalement opté pour Java.

J'ai essayé de créer une calculatrice dans tous les langages, et j'ai réussi en c# et c++ ; cependant, je n'arrive pas à faire fonctionner la calculatrice en java car je ne sais pas comment utiliser les entrées.

Voici mon code. Je sais qu'il pourrait être beaucoup plus petit, mais je l'ai fait de cette façon pour m'entraîner à déplacer les variables sur les fonctions.

public static void main(String[] args) {
    System.out.println("The super insano calculator");
    System.out.println("enter the corrosponding number:");
    System.out.println("1. Add | 2. Subtract | 3. Divide | 4.Multiply");
    String input = null;
    //get user input for string

    int a = 0, b = 0;
    System.out.println("Enter the first number");
    //get user input for a
    System.out.println("Enter the second number");
    //get user input for b

    switch (Integer.parseInt(input.trim())){
        case 1: System.out.println(a + " plus " + b + " equals " + add(a, b));          break;
        case 2: System.out.println(a + " minus " + b + " equals " + subtract(a, b));    break;
        case 3: System.out.println(a + " divided by " + b + " equals " + divide(a, b)); break;
        case 4: System.out.println(a + " times " + b + " equals " + multiply(a, b));    break;
        default: System.out.println("your input is invalid!");                          break;
    }
}
public static int add(int first, int second) {
        return first + second;
}
public static int subtract(int first, int second) {
        return first - second;
}
public static int divide(int first, int second) {
        return first / second;
}
public static int multiply(int first, int second) {
        return first * second;
}

}

423voto

MHero Points 1192
Scanner reader = new Scanner(System.in);
System.out.println("Enter the first number");
//get user input for a
a=reader.nextInt();

En supposant que seules des valeurs entières seront saisies.

379voto

Richie Points 481

Vous pouvez utiliser l'un des éléments suivants en fonction de vos besoins :

  1. Classe de scanner
  2. Classes BufferedReader et InputStreamReader
  3. Classe DataInputStream
  4. Classe de console

en utilisant la classe Scanner

Scanner scan = new Scanner(System.in);
String s = scan.next();
int i = scan.nextInt();

en utilisant la classe BufferedReader

BufferedReader br = new BufferedReader( new InputStreamReader(System.in));
String s = br.readLine();
int i = Integer.parseInt(br.readLine());

en utilisant la classe DataInputStream

DataInputStream dis = new DataInputStream(System.in);
/* String s = dis.readLine(); 
 * DataInputStream.readLine() has been deprecated 
 * to get String value you need to use BufferedReader class
 */
int i = dis.readInt();

Utilisation de la classe Console

Console console = System.console();
String s = console.readLine();
int i = Integer.parseInt(console.readLine());

45voto

objects Points 6137

Vous pouvez utiliser le Scanner ou la classe Console

Console console = System.console();
String input = console.readLine("Enter input:");

21voto

Chirag Raval Points 25721

Vous pouvez obtenir l'entrée de l'utilisateur en utilisant BufferedReader .

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

System.out.println("Enter your Account number: ");
ac_no = br.readLine();

Il stockera la valeur String dans ac_no donc vous devez le parser en Integer en utilisant Integer.parseInt(ac_no)

19voto

Abdel Olakara Points 11016

Voici comment vous pouvez obtenir les entrées du clavier :

Scanner scanner = new Scanner (System.in);
System.out.print("Enter your name");  
name = scanner.next(); // Get what the user types.

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