Maison >Java >javaDidacticiel >java récupère la valeur saisie au clavier

java récupère la valeur saisie au clavier

angryTom
angryTomoriginal
2019-07-16 16:17:393159parcourir

Dans le processus de développement d'un programme, nous avons souvent besoin d'obtenir la valeur saisie au clavier. Le langage C nous fournit scanf(), et C++ nous fournit cin(), une fonction prête à l'emploi pour obtenir la saisie au clavier. valeur. Alors, comment Java obtient-il la valeur saisie au clavier ? Présentons trois méthodes.

Méthode 1 : recevoir un caractère de la console et l'imprimer

import java.io.*;public static void main(String [] args) throws IOException{ 
         System.out.print("Enter a Char:"); 
         char i = (char) System.in.read(); 
         System.out.println("your char is :"+i); 
}

Bien que cette méthode permette d'obtenir la saisie du caractère du clavier, mais System.out.read() ne peut obtenir qu'un seul caractère. En même temps, le type de variable obtenue ne peut être que char. Lorsque nous saisissons un nombre et espérons obtenir une variable entière, nous devons également modifier la variable. types, ce qui est plus gênant.

Méthode 2 : recevez une chaîne de la console et imprimez-la. Dans cette question, nous devons utiliser la classe BufferedReader et la classe InputStreamReader

import java.io.*;public static void main(String [] args) throws IOException{ 
           BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
           String str = null; 
           System.out.println("Enter your value:"); 
           str = br.readLine(); 
           System.out.println("your value is :"+str); 
}

afin que nous puissions obtenir la chaîne que nous saisissons.

Méthode 3 : Je pense que cette méthode est la plus simple et la plus puissante, qui consiste à utiliser la classe Scanner

import java.util.Scanner;public static void main(String [] args) { 
         Scanner sc = new Scanner(System.in); 
         System.out.println("请输入你的姓名:"); 
         String name = sc.nextLine(); 
         System.out.println("请输入你的年龄:"); 
         int age = sc.nextInt(); 
         System.out.println("请输入你的工资:"); 
         float salary = sc.nextFloat(); 
         System.out.println("你的信息如下:"); 
         System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary); 
}

Si Si vous devez saisir des données séparées par des espaces sur une seule ligne, alors :

package iotest; 
import java.util.Scanner; 
public class ScannerTest { 
       public static void main(String[] args) {
              System.out.println("请输入5个整数,以空格分开,以回车结束:");              try{                     // 创建Scanner对象
                     Scanner scanner = new Scanner(System.in);                    
                     // 用于保存5个数字的数组
                     int a[] = new int[5];                    
                     for(int i=0;i<5;i++){                            // 把字符串转换为数字
                            a[i] = scanner.nextInt();
                            System.out.println(a[i]);
                     }
                    
              }catch(Exception e){
                     System.out.println("异常:"+e.toString());
              }
       }
}

Les deux morceaux de code ci-dessus ont montré que la classe Scanner n'a besoin de faire qu'une seule chose, que ce soit pour des chaînes, des entiers. variables de type data ou float. Un petit changement peut réaliser la fonction ! Sans aucun doute, il est le plus puissant !

Mais lorsque vous utilisez Scanner, vous devez faire attention à l'existence de nextInt() après nextLine()

Pour plus de connaissances connexes, veuillez cliquer sur : tutoriel Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn