LICENCE MASS

P.O.O : langage JAVA

 

Travaux dirigés

Série n°1


This document is the API specification for the Java 2 Platform, Standard Edition, version 1.4.2


EXERCICE 1 : Hello !

EXERCICE 2 : Le nombre mystérieux

EXERCICE 3 : Positif versus négatif

EXERCICE 4 : La fusion

EXERCICE 5 : Bleu blanc rouge …

EXERCICE 6 : Trier


EXERCICE 1 : Hello ! Test1.java


Commencez par créer dans votre répertoire courant, le répertoire JAVA, puis allez dans ce répertoire. Ensuite créer le répertoire SERIE1 puis aller dans ce répertoire.

$ cd ~

$ mkdir JAVA

$ cd JAVA

$ mkdir SERIE1

$ cd SERIE1

$ pwd

~/JAVA/SERIE1

 

Maintenant, copiez le programme ci-dessous dans le fichier Test1.java dans votre répertoire SERIE1

// import permet d'inclure les bibliotheques (libraries) necessaires

// Ici nous importons toutes les bibliotheques de type java.io.unTruc

import java.io.*;

 

public class Test1 {

// Nous definissons la classe publique Test1

// Elle doit necessairement se trouver dans le fichier Test1.java

public static void main(String[] args) {

// Ceci est la methode principale : main

// Le programme va commencer par executer les instructions de cette methode

System.out.println("HELLO"); // ici on affiche simplement la chaine « HELLO »

} // fin de la methode main

} // fin de la classe Test1

 

Vous pouvez maintenant compiler ce programme source avec le compilateur java javac

Remarque : pour pouvoir accèder au fichier javac.exe vous pouvez définir un alias :

$ alias javac='/usr/local/java/j2sdk1.4.2_01/bin/javac'

 

$ javac Test1.java

 

Vérifier si le fichier Test1.class a bien été généré (Ce fichier contient le bytecode)

$ ls T*.*

 

puis exécuter le bytecode contenu dans le fichier Test1.class grâce à l'interprète java.exe de la machine virtuelle java (JVM).

Remarque : pour pouvoir accèder au fichier java.exe vous pouvez définir un alias :

$ alias java='/usr/local/java/j2sdk1.4.2_01/bin/java'

 

$ java Test1

On voit la chaîne de caractères "HELLO" affichée sur l'écran

ATTENTION, ne pas taper : java Test1.class

 

a)      Modifier ce programme (sans créer un nouveau fichier) pour qu’il affiche la chaîne «HELLO tout le monde»

b)      On déclare dans la méthode main une variable nom de type String. Compléter le code suivant :

public static void main(String[] args) {

String nom;

nom = ???;

System.out.println("Hello, mon nom est" + !!!);

}

c)      Ecrire un programme qui déclare deux variables, nom et prenom, qui seront initialisées avec vos propres nom et prénom et qui affiche votre nom et votre prénom sur la première ligne puis votre prénom et votre nom sur la seconde ligne.

$ java Test1

Pierre Dupond

Dupond pierre

d)      Modifier le programme pour afficher la chaîne « HELLO » puis chacun des noms passés en arguments de la ligne de commande.

$ java Test1 Toto Titi Tata

HELLO A TOUS LES 3 :

Toto

Titi

Tata

 


EXERCICE 2 : le nombre mystérieux Test2.java


Ecrire un algorithme qui permette de jouer au "nombre mystérieux". Il s'agit pour l'utilisateur de trouver un nombre entier inconnu dont la valeur est fixée dans le programme. (on pourra, par exemple, supposer que ce nombre est compris entre 0 et 100). Le joueur propose des solutions tant qu'il n'a pas trouvé. L'application répond, selon la réponse du joueur, TROP PETIT, TROP GRAND, ou BRAVO VOUS AVEZ TROUVE. Le score (nombre d'essais) sera affiché à la fin de la partie.

Traduire cet algorithme en Java (fichier source Test2.java).

Recommandations :

Accès local : http://www-mips.unice.fr/Doc/Java/jdk1.2/docs/api/index.html

Accès sur le site de SUN : http://java.sun.com/j2se/1.4.2/docs/api/index.html

 

 


EXERCICE 3 : positif versus négatif Test3.java


On considère un tableau de nombres entiers. Ecrire un algorithme qui permette de trouver le nombre d’éléments strictement négatifs ainsi que le plus grand élément. Traduire cet algorithme en Java (fichier source Test3.java) et tester votre solution.

 


EXERCICE 4 : la fusion Test4.java


On considère deux tableaux de nombres entiers, le premier contient les 10 premiers nombres positifs paires et le second les 10 premiers nombres positifs impaires. Ecrire un algorithme qui permette de fusionner ces deux tableaux en un unique tableau contenant les 20 premiers nombres entiers positifs. Afficher le résultat de la fusion. Traduire cet algorithme en Java (fichier source Test4.java).

 


EXERCICE 5 : bleu blanc rouge Test5.java


On aligne N boules, réparties en un nombre quelconque de boules de couleur bleues, blanches ou rouges. Ces boules sont disposées dans un ordre quelconque. La ligne de boules est représentée par un tableau D de taille N, dont chaque élément D[i] appartient à l'ensemble {‘B’,‘-‘,‘R’} correspondant respectivement au trois couleurs bleu, blanc et rouge. Ecrire un algorithme qui réorganise le tableau de telle façon que toutes les boules bleues apparaissent au début, suivies des boules blanches puis des boules rouges. La contrainte est que le tri du tableau doit être réalisé en seul parcours. Traduire cet algorithme en Java (fichier source Test5.java).

 


EXERCICE 6 : trier Test6.java


On considère un tableau de nombres entiers. Ecrire un algorithme qui permette de lire au clavier les éléments de ce tableau, qui trie le tableau en utilisant la méthode de tri par SELECTION et qui affiche le tableau trié. Traduire cet algorithme en Java (fichier source Test6.java).

On obtiendra, par exemple, l’exécution suivante :

-2|0|8|7|1|-5|12|10|25|5|

tableau trié : -5|-2|0|1|5|7|8|10|12|25|

Exit code: 0

No Errors

 


Haut du document