TD 1_j

Embed Size (px)

Citation preview

Java TD 1// Fichier Hello.java public class Hello { //private static int x; public static void main(String[] args) { System.out.println("Hello World !") ; } }

Exercice 1 Introduction1. Recopiez le programme ci-dessus dans un fichier nommHello.java. Pour le compiler utilisez la commande javac Hello.java et pour l'excuter, java Hello. Peut-on l'excuter directement sans utiliser la commandejava ? Que se passe-t-il si le fichier s'appelleHello2.java ?

Exercice 2 Lire la ligne de commandeLire la ligne de commande s'avre beaucoup plus simple en Java qu'en C. On reoit comme argument de main un seul tableau (habituellement nomm args). On obtiens le nombre d'lments du tableau par args.length. Les arguments de la ligne de commande seront donc dans args[0] ... args[args.length-1]. 1. Modifiez ce programme pour que java Hello Toto produise l'affichage :Hello Toto !

Que se passe-t-il si on ne donne pas d'argument sur la ligne de commande ? A l'aide d'une conditionnelle, rsolvez ce problme. 2. Modifiez maintenant le programme pour que pour chaque nom donn sur la ligne de commande, il affiche une ligne de salutation.

Exercice 31. crivez un programme Somme effectuant la somme du tableau : {1, 23, 12, -4, 6, 89, 2} et affichant le rsultat.

2. Dfinissez une mthode static, qui prendra en argument le tableau, qui effectuera le calcul et qui retournera la valeur obtenue. main ne sera responsable que de l'appel de la fonction et de l'affichage. Le prototype de la mthode est : 3.public static int somme(int[] tab) Ajoutez la mthode produit et la mthodemoyenne au programme.

Exercice 4 FamiliarisationEssayer de provoquer les erreurs suivantes en modifiant un programme, observez le rsultat. 1. Erreurs de compilation : a. Variable non dclare. b. Mauvais arguments passs lors de l'appel d'une mthode. 2. A l'excution : a. Pas de fonction main. b. Dpassement des limites d'un tableau. c. Division par zro.

Exercice 5Cet exercice ne doit pas tre fait sur machine ! Qu'affichent les programmes suivants :1. public class Ex1a { 2. static int f1(int a, int b) { 3. a++ ; b++ ; 4. System.out.println(a+" "+b) ; 5. a=a+b ; 6. return a ; 7. } 8. public static void main(String[] args) { 9. int a=2, b=3 ; 10. System.out.println(a+" "+b) ; 11. f1(b,a) ; 12. System.out.println(a+" "+b) ; 13. b = f1(b,a) ; 14. System.out.println(a+" "+b) ; 15. } 16. }

17.18. public class Ex2a { 19. static void f(int[] a,int i,int k) { 20. a[i] = k ; 21. } 22. public static void printtab(int[] tab) { 23. for(int i=0;i