English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Quelle est la syntaxe de passage d'un objet Scanner comme paramètre dans une méthode Java ?

jusqu'à Java 1.5Avant de lire les données de l'utilisateur programmeur, toutes dépendent des classes de flux de caractères et de flux de bytes.

de Java 1.5Début de l'introduction de la classe Scanner. Cette classe accepte des objets File, InputStream, Path et String, et lit individuellement tous les types de données primitives et String (à partir de la source donnée) en utilisant des expressions régulières.

Par défaut, les espaces sont considérés comme des délimiteurs (divisant les données en jetons).

Lire divers types de données venant de la sourcenextXXX()Les méthodes fournies par cette classe incluent,nextInt(),nextShort(),nextFloat(),nextLong(),nextBigDecimal(),nextBigInteger(),nextLong(),nextShort(),nextDouble(),nextByte(),nextFloat(),next().

Transmettre un objet Scanner en tant que paramètre

Vous pouvez transmettre un objet Scanner en tant que paramètre à une méthode.

Exemple

Le programme Java suivant montre comment transmettre un objet Scanner à une méthode. Cet objet lit le contenu du fichier.

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Scanner;
public class ScannerExample {
   public String sampleMethod(Scanner sc){
      StringBuffer sb = new StringBuffer();
      while(sc.hasNext()) {
         sb.append(sc.nextLine());
      }
      return sb.toString();
   }
   public static void main(String args[]) throws IOException {
      //Instanciation de la classe InputStream
      InputStream stream = new FileInputStream("D:\\sample.txt");
      //Instanciation de la classe Scanner
      Scanner sc = new Scanner(stream);
      ScannerExample obj = new ScannerExample();
      //Appel de méthode
      String result = obj.sampleMethod(sc);
      System.out.println("Contenu du fichier : ");
      System.out.println(result);
   }
}

Résultat de la sortie

Contenu du fichier :
oldtoolbag.com a vu le jour de l'idée qu'il existe une catégorie de lecteurs qui réagissent mieux à l-ligne
content and prefer to learn new skills at their own pace from the comforts of their drawing rooms.

Exemple

Dans l'exemple suivant, nous créons un objet Scanner avec l'entrée standard (System.in) comme source et le passons en tant que paramètre à la méthode.

import java.io.IOException;
import java.util.Scanner;
public class ScannerExample {
   public void sampleMethod(Scanner sc){
      StringBuffer sb = new StringBuffer();
      System.out.println("Enter your name: ");
      String name = sc.next();
      System.out.println("Enter your age: ");
      String age = sc.next();
      System.out.println("Hello "+name+"You are "+age+"years old");
   }
   public static void main(String args[]) throws IOException {
      //Instanciation de la classe Scanner
      Scanner sc = new Scanner(System.in);
      ScannerExample obj = new ScannerExample();
      //Appel de méthode
      obj.sampleMethod(sc);
   }
}

Résultat de la sortie

Enter your name:
Krishna
Enter your age:
25
Hello Krishna You are 25 years old