Arreglo de java

Iniciado por ale95121, 24 Marzo 2014, 03:20 AM

0 Miembros y 1 Visitante están viendo este tema.

Mitsu

#20
Éste es tu error, estás colocando punto y coma luego del for. Si colocas un punto y coma seguido de un loop (menos do-while) significa que ese loop es un loop vacío y el compilador lo ignora.

Código (=java) [Seleccionar]

for(int indice=0; indice<=arreglo.length; indice++);


Por lo que if, en realidad no está dentro de ningún loop, y la variable 'indice' no existe, ya que solo existe dentro del loop. Solo puedes usar break cuando estás dentro de un loop.

ale95121

#21
ya me corre pero cuando le doy el 1 me dice en numero se encuentra en el arreglo 1
cuando le doy el 2 me dice el numero no se encuentra en el arreglo
el numero se encuentra en la posicion 2,
como le hago para que se deje de reptir el mensaje el numero de veces que yo le de el numero? por ejemplo si le doy el 5 me dice 5 veces que no se encuentra en el arreglo y despues me imprime que se encuentra en la posicion 5.
como lo puedo solucionar?

Mitsu

Eso pasa porque todo lo haces dentro del loop. Acostúmbrate a usar banderas, ésto no es más que una variable (normalmente booleana) que actúa como un informante. Si ocurre un determinado caso, la bandera va a guardar un valor, por ejemplo true, ésto dentro del loop.

Luego, fuera del loop analizas la bandera, si es true haces algo, si no, haces otra cosa.

Código (=java) [Seleccionar]

public static void main(String[] args) {
//launch(args);
int[] array = {0,1,2,3,4,5,6,7,8,9,10};
int numero = Integer.valueOf(javax.swing.JOptionPane.showInputDialog("Ingrese el numero a buscar"));
boolean encontrado = false; // bandera que informa si se ha encontrado el numero
int posicion = 0; // posicion del numero si se encuentra
for(short i=0; i<array.length; i++) {
if(numero == array[i]) {
encontrado = true; // informa que se encontro el numero en
posicion = i; // esta posicion
}
}
// verifica el valor de 'encontrado' que sera true si se ha encontrado
// el numero, de lo contrario sera false.
if(encontrado)
System.out.println("Numero encontrado en la posicion:\t"+posicion);
else
System.out.println("Numero no encontrado.");
System.exit(0); // termina el programa
}

ale95121

Hola genial ya me funciona perfectamente Gracias a ambos espero poder contar con ustedes mas adelante, espero y mi profesora ahora no me ponga peros por no entenderle a el programa.
Nuevamente gracias Darhius, gracias Mitsu.