Page 1 Module « Java Initiation »
TP « Programmes avec structures répétitives » : Proposition de correction
Exercice 1 : Compteur
Ecrire un programme compteur.php qui permet de compter de 1 jusqu’à 20
public class Test {
public static void main(String args[]){
for (int i=1; i<=20;i++) System.out.println(i);
} }
Exercice 2 : Compteur
Améliorer le programme pour faire saisir à l’utilisateur jusqu’à quel chiffre il souhaite que le programme compte
public class Test {
public static void main(String args[]){
System.out.println("Indiquez le chiffre maximum:");
int max=Lire.lireInt();
for (int i=1; i<=max;i++) System.out.println(i);
} }
Exercice 3 : Factorielle
En utilisant une boucle, afficher la factorielle d’un nombre (rappel : n ! = 1*2*3*….*n)
public class Test {
public static void main(String args[]){
int resultat=1;
System.out.println("Saisir votre nombre:");
int nombre=Lire.lireInt();
for (int i=1; i<=nombre;i++) resultat=resultat*i;
System.out.println(resultat);
} }
OU
En plus compliqué avec une méthode récursive
public class Test {
public static void main(String args[]){
System.out.println("Saisir votre nombre:");
int nombre=Lire.lireInt();
System.out.println(facto(nombre));
}
static int facto(int n){
if (n<2) return 1;
else return n*facto(n-1);
} }
Exercice 4 : TantQue
Ecrivez un programme qui demande à l'utilisateur d’entrer un chiffre. Cette action devra être répétée tant que l’utilisateur répondra oui à la question voulez vous recommencer ? Le programme devra indiquer :
• le nombre de valeurs saisies
• le nombre valeurs paires
• le nombre valeurs impaires
Voir cours pour la correction
Page 2 Exercice 5 : Carré
Afficher un carré d’étoiles. La longueur du côté sera saisie par l’utilisateur
public class Test {
public static void main(String args[]){
System.out.println("Saisir le côté:");
int cote=Lire.lireInt();
for (int i= 1; i<=cote;i++){
System.out.println();
for (int j=1; j<=cote; j++) System.out.print('*');
} }
}
Exercice 6 : Voyelles et consonnes
Saisir un petit texte et comptez le nombre de consonnes et de voyelles et le nombre de caractères spéciaux.
Conseil : Utilisez les fonctions « charAt », « toUpperCase », « length » de la classe « String ».
public class Test {
public static void main(String args[]){
char car;
int nbVoyelles=0, nbConsonnes=0,autres=0;
String texte;
System.out.println("Saisir un texte :");
texte=(Lire.lireStr()).toUpperCase();
for (int i=0;i<texte.length();i++){
car=texte.charAt(i);
if (car=='A' ||car=='E' ||car=='I' ||car=='O' ||car=='U' ||car=='Y')
nbVoyelles++;
else
if (car>'A' && car <='Z')
nbConsonnes++;
else autres++;
}
System.out.println("Nombres de caractères:"+texte.length());
System.out.println("Nombres de voyelles:"+nbVoyelles);
System.out.println("Nombres de consonnes:"+nbConsonnes);
System.out.println("Nombres de caractères spéciaux:"+autres);
} }