Вы находитесь на странице: 1из 3

mercredi 26 octobre 2011 Test Langage Java et POO (Semaine thmatique 2 ESGI)

Aucun document autoris.

I. Questions (3 points) 1) Soit le fichier QuestionUn.java suivant : public class mauvaiseclasse { public static int f(int a, int b) { String c = a + b; char car = 'z' + a; StringBuffer sb = c; System.out.print(sb + c + car); return sb; } public static void g(float [] t) { for(i=0; i<=t.length(); i++) t[i]=0; } public static void main(String[] args) { int tab[5]; System.out.print(f(args[0], args[1])); g(tab); return 0; } } Ce programme est trs (trs) mal construit; le corriger en le rcrivant compltement.

(4,5 points) 2) Soit le programme Java suivant : public class TestJava { public static String mystere(String x, int nb) { String ch = x; if (x == null || nb < 0) return null; for (int i = 1; i <= nb; i++) { ch = ch.substring(1, ch.length()) + ch.charAt(0); } return ch; } public static void main(String[] args) { String chaine = ""; System.out.println(chaine); System.out.println("*******************"); chaine = "abcde"; for (int i = 0; i <= chaine.length(); i++) System.out.println(mystere(chaine, i)); System.out.println("*******************"); chaine=null; System.out.println(chaine); } } a) Indiquer ce qu'il affiche. b) En dduire le rle de la fonction mystere.

(4,5 points) 3) Construire la fonction Java d'entte suivante : String [] f(String [] tab, String chaine) dont l'objectif est de construire et de retourner un nouveau tableau, form des lments de tab contenant le mot chaine. Par exemple : si tab = {"abcd", "defg", "bcde", "fghi"}, et chaine="bc", le tableau construit par la fonction f contiendra les lments {"abcd","bcde"}. Prendre en compte les cas d'erreurs.

II. Problme (8 points) L'objectif de ce problme est de construire un certain nombre de fonctions Java agissant sur un tableau de rels deux dimensions (considrer que le nombre de colonnes est le mme pour toutes les lignes). construire la fonction d'entte : public static void f1(double [][] tab, double valeur) permettant d'initialiser le tableau tab avec la valeur fournie en paramtre. construire la fonction d'entte : public static boolean f2(double [][] taba, double [][] tabb) permettant de retourner la valeur true si les deux tableaux taba et tabb sont forms exactement des mmes valeurs (valeurs identiques des positions identiques). construire la fonction d'entte : public static void f3(double [][] taba, double [][] tabb) permettant de permuter le contenu des deux tableaux taba et tabb (taba[i][j] devient tabb[i][j] et rciproquement) construire la fonction d'entte : public static void f4(double [][] tab, double valeur) permettant d'initialiser la diagonale de tab avec la valeur fournie en paramtre, et le reste du tableau 0. construire la fonction d'entte : public static void f5(double [][] tab) permettant d'oprer une rotation horaire sur le tableau tab (en supposant cette fois que le nombre de lignes est gal au nombre de colonnes) Par exemple : 1 4 7 2 5 8 3 6 9 7 8 9 4 5 6 1 2 3

construire la fonction d'entte : public static boolean f6(double [][] taba, double [][] tabb, int nb) permettant de retourner true si les tableaux taba et tabb sont forms des mmes valeurs aprs nb rotations horaires de taba.

Вам также может понравиться