TP JAVA 1

Partie 1 : utiliser le compilateur

Exercice 1

Ecrire l'incontournable programme "Hello World".

·        Créer le fichier source

·        Compiler le fichier source pour obtenir un fichier bytecode

·        Exécuter le programme dans le fichier bytecode

Points à voir :

·        Chaîne de développement javac/java

·        Ecriture des commentaires (2 types sans compter incluants les commentaires javadoc)

·        Définition d’une classe

·        Définition d’un main

 

Remarque:

Vous pouvez afficher tous les types primitifs et les chaînes de caractères très facilement :

System.out.println (“Affichage”) ;  ß println inclut automatiquement un \n à la fin

 

int a = 5 ;

System.out.print (“a=”) ; ß print n’inclut pas le retour chariot

System.out.println (a) ;

 

System.out.println (“a = ” + a) ; ß version condensée : conversion de a automatique

Partie 2 : Manipulation des tableaux et des lignes de commandes

Exercice 2

Ecrire un programme java (Jour.java) qui permet d’afficher le jour de la semaine correspondant à un nombre donné en paramètre. Le programme devra utiliser pour cela un tableau de chaînes de caractères : utilisation de switch interdite, et utilisation de un seul « if ».

% java Jour 3

le 3e jour : Mercredi

Note : pensez à tester que le paramètre existe bien et qu’il est entre 1 et 7

Aide : Utiliser Integer.parseInt()  pour la conversion de chaîne en entier (on lui passe un entier en paramètre et elle retourne un entier).

Exercice 3

De même, écrire un programme java (tri.java) qui reçoit une dimension donnée en paramètre (maximum 20), alloue un tableau d’entiers, le remplis avec des entiers au hasard, affiche le tableau, trie le tableau à l’aide de Arrays.sort() puis réaffiche le tableau trié. Pour l’affichage du tableau écrire une méthode static void affiche(int[] tab) qui reçoit un tableau en paramètre.

Aide :   Utiliser Math.random() pour générer des entiers aléatoires.
Par exemple int i= (int)(Math.random()*100); générera un nombre entre 0 et 100

         On peut appeler java.util.Arrays.sort(tableau) directement (avec tableau déclaré comme int[] )

 

Exercice 4

On veut lancer un programme Java par :  

% java Calculette 45 + 87

A/ le programme doit faire l'addition et afficher le résultat.

B/ Enrichir cette calculette pour qu'on ait les quatre opérateurs.

Aide : pour tester l’opérateur, soit vous comparez le premier char de sa chaîne (argv[1].charAt(0) )  avec un char ( ‘+’ par ex ) soit vous comparez la chaîne de l’opérateur avec une autre chaîne ( op.equals("+") ou op.compareTo("+")==0 ). Mais un switch ne peut se faire que sur des valeurs scalaires.

Partie 3 : Les entrées / sorties

Exercice 5

Ecrire un programme qui affiche un « faux » prompt (comme celui de DOS ou UNIX) affichant « PROMPT> », et qui mémorise toutes les saisies de l‘utilisateur jusqu'à ce qu’il arrête par un caractère spécial, et qui enfin les restitue dans l’ordre. Voici un exemple d’exécution :

Tapez quelques lignes terminees par un point ('.'):

PROMPT> tu es la?

PROMPT> voilà.

PROMPT> et bien ?

--- Vous avez tapé:

tu es la?

voilà

et bien ?

--- Merci bien!

Note : vous pouvez utiliser la classe StringBuffer(ou un tableau de String) pour le stockage et DataInputStream ou BufferedReader pour la lecture.

Aide (permet de lire sur stdin, voir la javadoc sur le site de sun) :

BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

//ensuite

String ligneTapee = input.readLine();

Note: il est nécessaire de faire un import de java.io.*
il est aussi necessaire de faire un ty / catch autour du readLine.