Boucles, fonctions, surcharge, varargs
Exercice 1 - Table de multiplication
Afficher la table de multiplication de 1 à 10,
c-a-d une matrice de 10x10 avec les valeur de 1 à 10
en ligne et en colonne et dans chaque case le produit
de la ligne par la colonne.
Modifier le programme pour que l'utilisateur choisisse
la taille de la table.
Exercice 2 - Un triangle d'étoile
On souhaite afficher un triangle d'étoiles dont
la taille est demandée au préalable à l'utilisateur.
Pour 4 cela donne :
*
**
***
****
Faire maintenant la même chose mais en dessinant une pyramide.
Exercice 3 - Maximum/minimum de deux nombre
Dans las classe Numerical
-
Ecrire une fonction max qui prend deux entiers en paramètre
et renvoie le maximum des deux entiers.
Ecrire un main de test.
-
Ecrire une fonction min qui prend deux entiers en paramètre
et renvoie le minimum des deux entiers.
Modifier la méthode main pour tester.
aussi le minimum.
-
Ecrire une fonction max qui prend deux nombres à virgule
en paramètre et renvoie le maximum des deux nombres.
Modifier le main pour tester.
Exercice 4 - Somme des entiers consécutifs
On souhaite calculer la somme des entiers de 1 à n.
-
Dans un premier temps tout faire dans le main
-
Dans un second temps, écrire une méthode statique sum
qui calcul la somme des entiers et appelée celle-ci de
la méthode main
Exercice 5 - Factoriel
On souhaite calculer la valeur de factoriel n pour
un n donnée par l'utilisateur.
Ècrire une méthode fact permettant de réaliser ce calcul.
Notons que fact(n)=fact(n-1)*n c-a-d l'ancienne valeur
de factoriel à laquelle on multiplie n et que
fact(0)=1.
À partir de quel valeur, le cacul effectue t'il un dépassement
de capacité ; vous pouvez tester avec des int
puis avec des long.
Exercice 6 - Afficher les arguments de la ligne de commande
Écrire une classe PrintArgs qui
affiche les arguments de la ligne de commande.
$ java Voici des arguments
Voici
des
arguments
Les arguments de la lignes de commandes sont stockées dans
le tableau de chaînes de caractères passé en
argument à la méthode
public static main(String[] args).
-
Dans un premier temps, ecrivez une boucle de parcours
en sachant qu'en Java les tableaux possède un attribut
length qui renvoie la taille du tableau.
-
Ecriver la même boucle en utlisant la notation "foreach"
i.e. for(type variable:tableau)
Exercice 7 - Chaine de caractère
On souhaite effectuer différentes manipulations sur les chaînes de
caractère.
-
Écrire une méthode qui prend en paramètre une chaine de caractère,
découpe celle-ci en mot et met un mot sur deux en
majuscule minuscule respectivement.
On utilise pour cela split(), toUpperCase
et toLowerCase().
-
Écrire une méthode mirror qui renvoie une chaine de
caractère quise en paramètre à l'envers ("toto" devient "otot")
en utilisant charAt() et la concaténation
de chaine de caractère (+).
-
Ré-écrire la méthode mirror en utilisant un
StringBuilder et sa méthode append
pour effectuer la même opération.
Quelle implantation est la plus efficace ?
Exercice 8 - En morse. Stop.
Écrire une classe Morse qui permet lors de
son exécution d'afficher les chaînes de caractères
prisent en argument séparé par des "Stop.".
$ java Morse ceci est drole
ceci Stop. est Stop. drole Stop.
Exercice 9 - Somme d'entiers
-
Écrire une méthode sum qui calcule la somme
d'un certain nombre d'entier passés en paramètre de
la méthode.
-
Écrire une méthode main de test.
-
Pourquoi peut-on déclarer le tableau pris en paramètre comme
un int... et non comme un int ?
Modifier la méthode sum et la méthode
main en conséquence.
Exercice 10 - Conversion de String en entier
Écrire un programme qui met les nombres entiers qu'on
lui passe en argument sur sa ligne de commandes
dans un tableau d'entiers et qui affiche ce tableau
suivi de la somme de ses éléments.
Voici un exemple d'exécution :
$ java Sum 15 5 231
15 5 231
Somme: 251
La méthode statique parseInt(String s) de la
classe Integer permet de récuperer la valeur
d'un entier stockée dans un chaîne de caractères.
Que se passe-t'il lorsqu'une lettre est prise
en argument au lieu d'un nombre ?
Exercice 11 - Tri à bulle
-
Écrire une méthode swap qui échange
les valeurs de deux cases d'un tableau.
void swap(int[] array,int index1,int index2)
-
Écrire une méthode indexOfMin qui
renvoie l'index de la valeur minimal d'un tableau.
-
Modifier la méthode indexOfMin en ajoutant
deux index indiquant que l'on cherche l'index du minimum non pas
sur tout le tableau mais sur la partie de tableau entre
les deux index (le premier compris, le deuxième non compris).
-
Écrire la méthode sort qui prend un tableau d'entier
en paramètre et qui trie celui-ci en utilisant pour cela
les méthodes indexOfMin et swap.
Rémi Forax - Université de Marne La Vallée