Java Sujet
Java Sujet
Java Sujet
Organisation du travail :
Il est recommandé de créer un répertoire pour contenir tous les fichiers de vos TPs (ex:JAVA/TP). Pour chaque
TP, vous créerez un sous répertoire. Par exemple pour le TP1, créez le sous répertoire JAVA/TP/TP1. De même
pour chaque exercice vous créerez un sous répertoire (JAVA/TP/TP1/Exo1, JAVA/TP/TP1/Exo2, …etc.).
Exercice 1 : compiler et exécuter une application "standalone" : Lecture d'une donnée au clavier avec la
classe Scanner et affichage d'un message avec System.out.println(message)
Ecrire une classe BonjourConsole qui utilise la classe java.util.Scanner de l'API pour lire au clavier votre
nom (String), age en années (réel) , taille en cm (entier), poids en kg (réel) puis affiche toutes ces
informations sur l’écran de la console.
(Voir Annexe 1 pour apprendre à utiliser la classe Scanner)
Rappel :
1. Une application standalone possède au moins une classe qui contient la méthode main ayant
exactement la signature « public static void main(String[]args)»
2. Pour compiler, utiliser la commande javac suivi du nom du fichier
(javac <nomFichier>).
Exemple:
• javac BonjourConsole.java
Attention : vous devez avoir modifié le PATH pour exécuter les commandes java à partir de n'importe
quel répertoire.
3. Pour exécuter une application, il faut présenter à la JVM la classe principale (celle qui contient la
méthode main) en donnant le nom de la classe:
java <nomClasse>.
Chercher à ne pas respecter ces règles et relevez les erreurs qui se produisent lors de la compilation et
lors de l'exécution.
(Conseil : créer un ficher word qui contient deux tableaux. Mettez dans le premier tableau les erreurs de
compilation et dans le deuxième les erreurs à l'exécution).
---------------------------------------------
Larbi Hassouni
POO avec JAVA TP N°1
+getAuteur() : String
+getTitre() : String
+getNbPages() : int
+setAuteur(auteurValue : String) : void
+setTitre(titreValue : String) : void
+setNbPages(nbPagesValue : int) : void
+toString() : String
+plusVolumineuxQue(l : Livre ) : boolean
+<<static>>plusVolumineuxQue(l1:Livre, l2:Livre) : boolean
+aMemeAuteurQue(l : Livre) : boolean
+<<static>>aMemeAuteurQue(l1 : Livre, l2 : Livre) : boolean
La méthode plusVolumineuxQue(l : Livre ) : méthode d'instance qui compare le nombre de pages du livre
courant avec celui du livre passé en argument.
La méthode plusVolumineuxQue(l1 : Livre, l2 : Livre ) : méthode de classe qui compare le nombre de pages des
deux livres passés en arguments.
La méthode aMemeAuteurQue(l : Livre) : méthode d'instance qui teste si le livre courant a le même auteur que
celui passé en argument.
La méthode aMemeAuteurQue(l1 : Livre, l2 : Livre) : méthode de classe qui teste si les deux livres ont le même
auteur.
Travail à faire :
1- Créer la classe Livre
2- Créer une classe TestLivre qui utilise chacun des constructeurs pour créer respectivement les trois livres ci-
dessous :
Livre l1 (Créé par le constructeur par défaut) :
Titre : Au Cœur de java : Notions Fondamentales
Auteur : Horstman
NbPages : 820
Livre l2 (Créé par le deuxième constructeur)
Titre :Entreprise Java Bean
Auteur : Richard Monson-Haefel
NbPages : 568
3- Transformer votre méthode toString() en commentaire en la délimitant par /* et */, puis exécuter
l'instruction System.out.println(l1);
4- Afficher le titre, l'auteur, et le nombre de pages du premier livre en utilisant l'instruction
System.out.println(l1);
Larbi Hassouni
POO avec JAVA TP N°1
5- Comparer les nombres de pages des deux premiers livres en utilisant la méthode d'instance
6- Comparer les nombres de pages des deux premiers livres en utilisant la méthode de classe
7- Tester si Livre1 a le même auteur que Livre2 en utilisant la méthode d'instance
8- Tester si Livre1 a le même auteur que Livre3 en utilisant la méthode de classe
9- Calculer et afficher la somme des nombres de pages des deux premiers livres
----------------------------------------------------
Ecrire une classe ManipuleString qui permet d'effectuer les opérations suivantes:
A. Créez une variable de type int, affectez-lui une valeur, puis convertissez cette variable en chaîne (Ex: le
nombre 123 devient "123") .
B. Lire une string au clavier, p u is lui enlever les éventuels blancs au début et à la fin, conv ertir tou s
ses caractèr es en m aju scu les pu is affich er le résultat .
D. Lire deux chaînes s1 et s2 et afficher les résultats renvoyés par les expressions « s1 == s2
»,
G. Si s est une chaîne de caractères, l’expression s.intern() renvoie une chaîne ayant les mêmes
caractères que s mais appartenant à une collection de chaînes sans doublons que Java maintient et dont les
chaînes figurant dans le programme source font partie d’office.
Lire deux chaînes s1et s2et constater qu’à la suite des transformations « s1 = s1.intern();» et
------------------------------------
--------------------------------
Larbi Hassouni
POO avec JAVA TP N°1
Exemple de programme
Pour plus d'imformation consulter l'API
import java.util.InputMismatchException;
import java.util.Scanner;
Exécution:
Donner un entier de type byte(-128 à 127) :10
Donner un entier de type short (-32768 à 32767) :20
Donner un entier de type int (-2^31 à 2^31-1) :30
Donner un entier de type long (-2^63 à 2^63-1) :40
Donner un réel de type float (utiliser , pour partie fractionnaire) :50,25
Donner un réel de type double (utiliser , pour partie fractionnaire) :125,75
Donner une suite de tokens séparés par des espaces :
abcd efgh ijklm
b = 10 h = 20 n = 30 l = 40
f = 50.25 d = 125.75
s1 = abcd s2 = efgh ijklm
Larbi Hassouni
POO avec JAVA TP N°1
public final class String extends Object implements Serializable, Comparable<String>, CharSequence
boolean isEmpty()
Returns true if, and only if, length() is 0.
intern()
String
Returns a canonical representation for the string object.
Larbi Hassouni
POO avec JAVA TP N°1
int length()
Returns the length of this string.
char[] toCharArray()
Converts this string to a new character array.
String toLowerCase()
Converts all of the characters in this String to lower case using the rules of the default
locale.
String toUpperCase()
Converts all of the characters in this String to upper case using the rules of the default
locale.
String trim()
Returns a string whose value is this string, with any leading and trailing whitespace
removed.
Larbi Hassouni