TP1 - POO

publicité
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
Téléchargement