bonjour !

Je dois écrire une fonction qui, étant donné deux tabeaux, renvoie un tableau dont les éléments sont ceux communs aux deux tableaux

Voici mon code en trois étapes :

Ecrire une fonction qui, étant donné un nombre entier et un tableau de nombres entiers, teste la présence dans le tableau d' au moins un élément
dont la valeur est le nombre entier

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
public static boolean nombreDansTableau(int n, int[] tab)
{
		boolean verite = false;
 
		for(int i = 0; i < tab.length; i++)
		{
			if(tab[i] == n)
			{
				verite = true;
				break;
			}
			else
			verite = false;
		}
		return verite;
}
Ensuite

Ecrire une fonction qui, étant donné 2 tableaux de nombres entiers, renvoie le nombres d' éléments du 1er tableau dont la valeur est égale
à celle d' au moins un élément du 2ème tableau

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
public static int nombEltsValeursCommunes(int [] tab1, int [] tab2)
{
		int n = 0;
 
		for(int i = 0; i < tab1.length; i++)
		{
			if(nombreDansTableau(tab1[i], tab2))
			n++;
		}
		return n;
}
Et enfin,

Ecrire une fonction qui, étant donné 2 tableaux de nombres entiers, renvoie un tableau dont les éléments ont des valeurs commune aux 2 tableaux


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
public static int [] tabIntertabs(int [] tab1, int [] tab2)
{
		int n = nombEltsValeursCommunes(tab1, tab2);
		int [] tab = new int [n];
 
		for(int i = 0; i < tab1.length; i++)
		{
			for(int j = 0; j < n; j++)
			{
				if( nombreDansTableau(tab1[i], tab2))
				tab[j] = tab1[i];
 
				else
				continue;
			}
		}
		return tab;
}
Et c' est la 3ème étape qui cloche. Le tableau renvoyé a le nombre d' éléments attendu. Mais les valeurs attendues sont tous égales à zéro. Or, aucun élément des 2 tableaux n' a la valeur zéro.


Ce que je vous demande, c' est pas la correction pour l' instant. Mais plutôt me dire là où le bas blesse.
J' aime plus qu' on me donne la solution toute faite. Je veux une indication sur mon ou mes erreur(s).

Je vous remercied' avance.