La methode scanner

jo-concept -  
 @urels -
Bonjour,

s'il vous plait commenter moi chacune des ligne ci-dessou avec beaucoup de detail surtout les lignes devant les quelles j'ai mis le caractere "@" c'est un peu flou.merci

Scanner sc = new Scanner(System.in);
int i = sc.nextInt();

Scanner sc = new Scanner(new File("myNumbers"));
@ while (sc.hasNextLong()) {
long aLong = sc.nextLong();
}

String input = "1 fish 2 fish red fish blue fish";
@ Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close();

String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input);
@ s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)");
@ MatchResult result = s.match();
@ for (int i=1; i<=result.groupCount(); i++)
System.out.println(result.group(i));
s.close();

2 réponses

  1. @urels
     
    VOila ;) :

    // creation d'un scanner qui recupère les données saisies dans la console
    Scanner sc = new Scanner(System.in);
    // recupération du premier nombre saisi (int -> Integer)
    int i = sc.nextInt();
    // scanner va maintenan lire le fichier myNumbers
    Scanner sc = new Scanner(new File("myNumbers"));
    // tant qu'il y a des nombres de type Long, la variable aLong prend la valeur du
    // dernier chiffre
    while (sc.hasNextLong()) {
    long aLong = sc.nextLong();
    }
    // initialisation du chaine de caractères input
    String input = "1 fish 2 fish red fish blue fish";
    // scanner qui lit la chaine input avec comme délimiteur avec une expr. régul. *
    Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
    // on prend le premier Integer
    System.out.println(s.nextInt());
    // on prend le deuxième Integer
    System.out.println(s.nextInt());
    // on prend le 'mot' suivant
    System.out.println(s.next());
    // on prend le 'mot' suivant
    System.out.println(s.next());
    // on ferme le scanner
    s.close();
    // nouvelle chaine input
    String input = "1 fish 2 fish red fish blue fish";
    // on lit cette chaine
    Scanner s = new Scanner(input);
    // on recherche l'expr. régul. dans la ligne
    s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)");
    // retourne le résultat de l'opération précédente dans result
    MatchResult result = s.match();
    // on affiche le résultat en parcourant le result
    for (int i=1; i<=result.groupCount(); i++)
    System.out.println(result.group(i));
    // on ferme le scanner
    s.close();

    * voir l'adresse pour les expressions régulières :
    http://benhur.teluq.uqam.ca/...
    0