I can not come up with a solution to this problem because the implement the code that I developed returns me the cardinal of the array {1,5,9,5,8,1,3,3,8} is 8 when in fact it should be 5. Many thanks in advance to everyone who offers me their help to solve this problem. The arrays will be size 10 always and the set of integers as well. In addition, the set of integers can not have repeated elements.
public class ConjuntoDeEnteros {
private int cardinal;
private int [] elementos;
public ConjuntoDeEnteros(){
elementos = new int[10];
cardinal =0;
}
public ConjuntoDeEnteros(int [] array) {
elementos = new int[10];
cardinal = 0;
cardinal = array.length; //en el conjunto de enteros no habran elementos repetidos asi que si se le pasa un array {1,5,9,5,8,1,3,3,8} array.length = 9
elementos = array; //el conjunto de enteros seria {1,3,5,8,9} y en vez de cardinal = array.length, el cardinal = 5
}
public int cardinal () {
for (int i = 0; i < elementos.length;i++) { //el array siempre tendra 10 elementos pero puede no estar completo
if(elementos[i] != 0) { //en este caso el cardinal sera igual al numero de elementos que haya en el array
cardinal = i; //el cardinal se ira aumentando a medida que se vayan añadiendo los elementos al conjunto de enteros
}else {
cardinal = 0;
}
}
return cardinal;
}
}