I am stuck with this topic, in a program with methods, we initialize array with NULL value because we still do not know the measure that it is going to have and we ask for the keyboard that indicates the measure, they give me this example that does not work, but if I enter measure = 2 the program asks 4 times the data, can you help me correct it?
//Variable global. Array no inicialitzat.
private int[] llistaEnters = null;
//En aplicar disseny descendent, ara cal declarar "lector" com a global
Scanner lector = new Scanner(System.in);
public static void main(String[] args) {
OrdenarDescendentVariable programa = new OrdenarDescendentVariable();
programa.inici();
}
public void inici() {
llegirLlista();
ordenarLlista();
mostrarLlista();
}
//Mètode amb les instruccions per llegir la llista.
//El primer valor sera la llargària
public void llegirLlista() {
System.out.println("Escriu una llista de valors enters i prem retorn.");
System.out.println("El primer valor indica la mida de la seqüència.");
llegirMida();
llegirValors();
}
public void llegirMida() { //Metode que llegeix el primer valor
//Lectura
int mida = 0;
if (lector.hasNextInt()) {
mida = lector.nextInt();
} else {
lector.next();
}
llistaEnters = new int[mida]; //Inicialitizació diferida de l'array
}
public void llegirValors() {
int index = 0;
while (index < llistaEnters.length) {
if (lector.hasNextInt()) {
llistaEnters[index] = lector.nextInt();
index++;
} else {
lector.next();
}
}
lector.nextLine();
} //La resta de mètodes no canvien ...
}