Objectifs exercice 2

  • Manipuler des tableaux à l’aide de fonctions
  • Exercer les tableaux

Travail à faire

Exercice 2.1

Écrivez une fonction prenant un tableau d’entiers en argument et qui retourne comme résultat l’élément le plus grand du tableau.

Exemple : votre fonction doit retourner 5 pour le tableau {2,5,3,1}

Exercice 2.2

Écrivez une fonction prenant un tableau de String en argument et qui retourne comme résultat le nombre de fois que la lettre ‘e’ apparaît dans le tableau.

Exemple : {"hello", "je suis", "edmund"} retourne la valeur 3 car il y a trois 'e' dans ces Strings

Exercice 2.3

  1. Écrivez une fonction prenant deux tableaux d’entiers en argument et qui retourne comme résultat un tableau qui est la somme des deux tableaux.
  2. Testez votre fonction sur les deux tableaux ci-dessous pour mettre la somme des deux tableaux dans un tableau v3. Vérifiez que votre code fonctionne correctement en affichant le contenu de v3 sur la console.
  3. Rajoutez dans votre fonction une condition qui vérifie que les deux tableaux ont bien la même taille. Si ce n’est pas le cas, votre fonction doit retourner la valeur null.
int[] v1 = {1,2,3};
int[] v2 = {4,3,2};
// Exercice 2.1
public static int findMax(int[] a) {
	if (a.length < 1) {
		System.err.println("Size of the array was 0");
		return -1;
	}

	// max contains the largest number so far
	int max = a[0];

	for (int i = 0; i < a.length; i++) {
		// if the current element is bigger than max, update it
		if (a[i] > max) {
			max = a[i];
		}
	}

	return max;
}

// Exercice 2.2
public static int countE(String[] a) {
	int cnt = 0;
	// Go over all strings
	for (int i = 0; i < a.length; i++) {
		String current = a[i];
		// Go over all chars in current string
		for (int pos = 0; pos < current.length(); pos++) {
			if (current.charAt(pos) == 'e')
				cnt++;
		}
	}

	return cnt;
}

// Exercice 2.3
public static int[] sum(int[] a, int[] b) {
	if (a.length != b.length)
		return null;

	// size of s is a.length or b.length (as they are both equal in size)
	int[] s = new int[a.length];

	// sums all elements of both arrays
	for (int i = 0; i < a.length; i++) {
		s[i] = a[i] + b[i];
	}

	return s;
}