estoy empezando con Java y haciendo algunos ejercicios tengo la siguiente duda. Me piden que haga una búsqueda en un array de 7 elementos de tipo entero, un número entero. He hecho la clase búsqueda así:
public class Busqueda {
int busqueda(int[] A, int n, int v) { A[1]=1; A[2]=5; A[3]=8; A[4]=15; A[5]=12; A[6]=30; A[7]=20; int pos = 0; int i = 1; while ((i <= n) && (pos == 0)) { if (A[i] == v) { pos = i; } i += 1; } if(pos==0){ System.out.println("No ha sido encontrado"); }else{ System.out.println("Ha sido encontrado"); } return pos; } }
y la clase main la he hecho así:
public class Main {
/** * @param args the command line arguments */ public static void main(String[] args) { Ricerca r = new Ricerca(); int A[]= new int [7]; r.ricerca(A, 7, 21); } }
Lo compilo perfectamente pero al ejecutar me sale éstos errores:
run: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7 at Ricerca.Ricerca.ricerca(Ricerca.java:20) at Ricerca.Main.main(Main.java:19) Java Result: 1 BUILD SUCCESSFUL (total time: 0 seconds)
¿Podéis echarme un cable amigos? No sé a qué se debe mi error. Saludos y gracias.
Buenas tarde,
estoy empezando con Java y haciendo algunos ejercicios tengo la siguiente duda. Me piden que haga una búsqueda en un array de 7 elementos de tipo entero, un número entero. He hecho la clase búsqueda así:
public class Busqueda {
int busqueda(int[] A, int n, int v) {
A[1]=1;
A[2]=5;
A[3]=8;
A[4]=15;
A[5]=12;
A[6]=30;
A[7]=20;
int pos = 0;
int i = 1;
while ((i <= n) && (pos == 0)) {
if (A[i] == v) {
pos = i;
}
i += 1;
}
if(pos==0){
System.out.println("No ha sido encontrado");
}else{
System.out.println("Ha sido encontrado");
}
return pos;
}
}
y la clase main la he hecho así:
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Ricerca r = new Ricerca();
int A[]= new int [7];
r.ricerca(A, 7, 21);
}
}
Lo compilo perfectamente pero al ejecutar me sale éstos errores:
run:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
at Ricerca.Ricerca.ricerca(Ricerca.java:20)
at Ricerca.Main.main(Main.java:19)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
¿Podéis echarme un cable amigos? No sé a qué se debe mi error. Saludos y gracias.