TP1 - TP Programmation Orienté Objet
Transcription
TP1 - TP Programmation Orienté Objet
TP POO Séance 01 Assurée par : SFAIHI Wajdi 2011/2012 EXERCICE 01 INSTALLATION 2 Exercice 01 o Enoncé • Installer le JDK1.X, l’environnement JPADPRO, et la documentation en ligne. Vérifier que l’installation s’est bien déroulée en testant le rituel « HelloWorld ». 3 Exercice 01 Il vaut mieux installer JDK sous C:\JDK1.6 4 Exercice 01 o Corrigé Après installation, créer un dossier C:\java contenant exercice.java (on peut utiliser BlocNote) class Test { public static void main(String[] args) { System.out.print("Hello World\n"); } A } 5 Exercice 01 o Corrigé 3. Invite de Commandes (barre démarrer\accessoires\) Insérer les Cmd suivantes : • Cd C:\java • Path =C:\jdk1.6\bin //spécifier le chemin d’accès contenant les commandes de java • javac exercice.java //pour la compilation et la création des classes • Java Test//la classe contenant main 4. • • • JDPRO : File -> New -> Java File – Simple Class -> calss name (Test) -> create file. Ecrire le (A) JDK -> Run Class -> Test (OK) 6 EXERCICE 02 PREMIER PAS 7 Exercice 02 o Enoncé Implémenter une classe JAVA permettant d’afficher le message suivant : Nom : " .. " Prénom : " .. " Niveau scolaire : " .. " 8 Exercice 02 o Corrigé Créer un dossier C:\java contenant Ecran.java A class affichage { public static void main(String[] args) { System.out.print("Nom : \"X\" \n"); System.out.print("Prénom : \"X\" \n"); System.out.println("Niveau scolaire : \"X\" "); } } 9 Exercice 02 o Corrigé 3. • • • • Invite de Commandes (barre démarrer\accessoires\) Insérer les Cmd suivantes : Cd C:\java Path =C:\jdk1.6\bin javac Ecran.java Java affichage 4. • • • JDPRO : File -> New -> Java File – Simple Class -> calss name (Ecran) -> create file. Ecrire le (A) JDK -> Run Class -> Affichage (OK) 10 EXERCICE 03 PALINDROME 11 Exercice 03 o Enoncé Il s'agit d'écrire un programme qui, étant donnée une chaîne de caractères (une instance de la classe String calcule la chaîne inverse indique s'il s'agit ou non d'un palindrome 12 Exercice 03 o Enoncé Premier temps: la chaîne à traiter ne comportera pas de caractère d'espacement et sera indiquée sur la ligne de commande. On définira une seule classe qui n'aura aucun attribut et deux méthodes statiques : Une méthode dont l'en-tête sera : static String inverse(String s) qui retournera un objet de type String contenant la chaîne inverse de la chaîne s. Cette méthode aura entre autres variables locales une variable nommée envers, de type char[], pour référencer un tableau de caractères comportant autant de case que le nombre de caractères de la chaîne s. Ce tableau est destiné à contenir les caractères de s en sens inverse de s. Une méthode main ; dans cette méthode, on récupérera la chaîne par la ligne de commande, on calculera son inverse grâce à la méthode inverse, on affichera cet inverse dans la fenetre de commande, on indiquera aussi dans la fenêtre de commande si la chaîne est ou non un palindrome. Indication : Utilisez les méthodes de la classe String 13 Exercice 03 o Corrigé Premier temps Sous le répertoire C:\Java, on ajoute Palindrome.java public class Palindrome { public static String inverse(String s) { int longueur = s.length(); StringBuffer envers = new StringBuffer(); int i; for (i = 0; i < longueur; i++) { envers.append(s.charAt(longueur - i - 1)); } return new String(envers); } } 14 Exercice 03 o Corrigé class PremierPalindrome { public static void main(String[] arg) { String chaine = arg[0]; String autre = Palindrome.inverse(chaine); System.out.println("L'inverse de " + chaine + " est " + autre); if (autre.equals(chaine)) System.out.println(chaine + " est un palindrome"); else System.out.println(chaine + " n'est pas un palindrome"); } } MSDOS Javac Palindrome.java Java PremierPalindrome STATS 15 Exercice 03 o Enoncé Second temps : La chaîne à traiter sera indiquée par la fenêtre d'exécution mais la saisie se fera après le lancement du programme. Cela permettra d'avoir des caractères d'espacement dans la chaîne de caractères à traiter. Indication Pour effectuer une saisie par la fenêtre d'exécution, on peut utiliser l'instruction suivante : BufferedReader entree = new BufferedReader(new InputStreamReader(System.in)); L'objet nommé cidessus entree permet de faire des saisies ; en particulier, l'instruction String chaine = entree.readLine(); met dans chaîne le contenu de la ligne indiquée dans la fenêtre d'exécution par l'utilisateur (et "envoyée" par la touche d'entrée). 16 Exercice 03 o Corrigé Second temps Sous le répertoire C:\Java, on ajoute PalindromeBis.java import java.util.Scanner; class DeuxiemePalindrome { static String enleveEspaces(String s) { int i, longueur; StringBuffer sansEspaces = new StringBuffer(); longueur = s.length(); for (i = 0; i < longueur; i++) if (s.charAt(i) != ' ') sansEspaces.append(s.charAt(i)); return new String(sansEspaces); } 17 o Corrigé Exercice 03 public static void main(String[] arg) { Scanner entree = new Scanner(System.in); System.out.println("Indiquez la chaine de caractères"); String chaine = entree.nextLine(); String sansEspace = enleveEspaces(chaine); String inverse = Palindrome.inverse(sansEspace); if (sansEspace.equals(inverse)) System.out.println("\"" + chaine + "\" est un palindrome"); else System.out.println("\"" + chaine + "\" n'est pas un palindrome"); } } MSDOS • Javac PalindromeBis.java • Java DeuxiemePalindrome 18 FIN Bon courage 19