Université de Tunis El Manar
Institut supérieur d’informatique 2 ème Computer Science
Département Génie Logiciel Programmation Orientée Objet
Correction Série TP N=°1
Rappel
public static void main(String[] args)
— public : Comme précédemment, cela signifie que la méthode main est publique et peut être appelée par le
système ou d’autres classes.
— static : Cela signifie que cette méthode appartient à la classe elle-même plutôt qu’à une instance spécifique
de la classe. C’est pourquoi on peut l’exécuter sans créer d’objets de la classe Main.
— void : Cela signifie que cette méthode ne retourne aucune valeur. La méthode main n’a pas besoin de renvoyer
un résultat.
— main : Le nom de la méthode. C’est la méthode spéciale qui est le point d’entrée de tout programme Java.
C’est la première méthode qui est appelée lorsque le programme est exécuté.
— String[] args : C’est un tableau d’arguments de chaîne de caractères. Lorsqu’un programme Java est exécuté
depuis la ligne de commande, vous pouvez passer des arguments à la méthode main. Ici, ces arguments
seront stockés dans le tableau args. Si aucun argument n’est fourni, args sera simplement un tableau vide.
[Link]("Bonjour, NetBeans 8.2 !");
— System : C’est une classe intégrée dans Java qui contient des membres utiles, notamment out qui représente
la sortie standard (habituellement la console).
— out : C’est un membre de la classe System. Il représente la sortie standard, souvent liée à la console où le
programme s’exécute.
— println : C’est une méthode de out qui affiche une chaîne de caractères dans la console et passe ensuite à
la ligne suivante. "Bonjour, NetBeans 8.2 !" : C’est la chaîne de caractères qui sera affichée à l’écran. Ici, le
message "Bonjour, NetBeans 8.2 !" sera imprimé dans la console lorsque le programme s’exécute.
import [Link];
Cette ligne importe la classe Scanner de la bibliothèque standard Java. Scanner est utilisé pour lire les entrées de
l’utilisateur depuis la console.
Scanner scanner = new Scanner([Link]);
un objet Scanner est créé pour lire les entrées de l’utilisateur. [Link] signifie que les entrées seront lues à partir
de la console.
String phrase = [Link]();
Cette ligne permet de capturer la phrase saisie par l’utilisateur. La méthode nextLine() de l’objet scanner lit une ligne
entière entrée par l’utilisateur et la stocke dans la variable phrase.
String[] mots = [Link](" ");
1
Université de Tunis El Manar
Institut supérieur d’informatique 2 ème Computer Science
Département Génie Logiciel Programmation Orientée Objet
La méthode split(" ") divise la chaîne de caractères phrase en sous-chaînes en utilisant l’espace (" ") comme sépa-
rateur. Cela renvoie un tableau de chaînes de caractères (String[]), chaque élément étant un mot de la phrase.
StringBuilder sb = new StringBuilder(phrase);
Crée un objet StringBuilder à partir de la chaîne phrase. La classe StringBuilder est utilisée pour manipuler effica-
cement des chaînes de caractères.
Exercice1 : Calculatrice avec Scanner
import [Link].*;
import [Link];
class calcul
{
public static void main(String[] args){
Scanner scanner = new Scanner([Link]);
DecimalFormat df = new DecimalFormat("#.##"); // Deux chiffres après la virgule
[Link]("Entrez le premier nombre :");
double num1 = [Link]();
[Link]("Entrez le deuxieme nombre :");
double num2 = [Link]();
[Link]("Choisissez une operation (+, -, *, /) :");
char operation = [Link]().charAt(0);
double resultat = 0;
switch (operation)
{
case ’+’:
resultat = num1 + num2;
break;
case ’-’:
resultat = num1 - num2;
break;
case ’*’:
resultat = num1 * num2;
break;
case ’/’:
if (num2 != 0) {
resultat = num1 / num2;
} else {
[Link]("Erreur : Division par 0 !");
2
Université de Tunis El Manar
Institut supérieur d’informatique 2 ème Computer Science
Département Génie Logiciel Programmation Orientée Objet
return;
}
break;
default:
[Link]("Opération non reconnue !");
return;
}
[Link](num1 +"+"+ num2 +"="+ [Link](resultat));
}
}
Exercice2 : Manipulation de chaînes de caractères avec Scanner
import [Link];
public class Inverse {
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
[Link]("Entrez une phrase :");
String phrase = [Link]();
// Comptage des mots
String[] mots = [Link](" ");
[Link]("Le nombre de mots est : " + [Link]);
// Inversion de la chaîne
StringBuilder sb = new StringBuilder(phrase);
[Link]("Phrase inversée : " + [Link]().toString());
}
}
Exercice3 : Manipulation de tableaux avec Scanner
import [Link];
public class Tableau {
private static Scanner scanner;
private static String tab[];
private static int n; //Longeur du tableau
private static String val; //Valeur d’un élément du tableau
public static void main(String[] args) {
scanner = new Scanner([Link]);
3
Université de Tunis El Manar
Institut supérieur d’informatique 2 ème Computer Science
Département Génie Logiciel Programmation Orientée Objet
[Link]("Taille tableau : ");
n = [Link](); // Initialisation de n
tab = new String[n]; //Initialisation du tableau vide avec n nombre total d’éléments
for(int i = 0; i<n; i++){
[Link]("T["+i+"]= ");
val = [Link]();
tab[i] = val;
}
[Link]("\nListe des éléments du tableau");
parcourirTableau(tab); //Affiche les contenus du tableau créé
}
//Méthode pour parcourir un tableau
private static void parcourirTableau(String[] tableau){
/* for(int i = 0; i<[Link]; i++){
* [Link](tableau[i]);
}
*/
for (String t : tableau){
[Link](t); //Affiche les éléments du tableau pris en paramètre
}
}
}