Adloun

programmation Java (école d'ingénieur) · Chapitre 1 · Exercice de TD

Arguments

Premiers programmes · niveau 2

Énoncé

On lance java Presentation Ada 19 avec le programme :


public class Presentation {
    public static void main(String[] args) {
        System.out.println("Je m'appelle " + args[0] + " et j'ai " + args[1] + " ans.");
        System.out.println("L'an prochain, j'aurai " + args[1] + 1 + " ans.");
    }
}
  • Qu'affiche-t-il ? Expliquer la deuxième ligne.
  • Que se passe-t-il avec java Presentation Ada ?
  • Peut-on corriger la deuxième ligne avec des parenthèses, (args[1] + 1) ? Pourquoi ?

Corrigé

  • Le programme affiche :

Je m'appelle Ada et j'ai 19 ans.
L'an prochain, j'aurai 191 ans.

args[1] est la chaîne "19" ; "L'an prochain, j'aurai " + args[1] + 1 colle 19 puis 1 : 191.

  • Sans deuxième argument, la case args[1] n'existe pas. Le programme s'arrête à la première ligne, sur l'exception ArrayIndexOutOfBoundsException (indice hors bornes), sans rien afficher.
  • Non : args[1] + 1 est encore une concaténation ("19" + 1 donne "191"), puisque args[1] est une chaîne. Il faut d'abord la convertir en entier : on verra au chapitre 6 que Integer.parseInt le fait.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →