Autor
|
Tema: Arreglo de java (Leído 11,166 veces)
|
ale95121
Desconectado
Mensajes: 11
|
hola Darhius mira asi es como me queda mi codigo:
import javax.swing.JOptionPane;
public class InicArreglo{
public static void main (String args[]){
int arreglo[]={1,2,3,4,5,6,7,8,9,10};
for (int contador=0;contador<arreglo.length;contador++)
int opc=Integer.parseInt(JOptionPane.showInputDialog("Dame un numero"));
if(arreglo[contador]==opc){
System.out.printf("El numero se encuentra en el arreglo");
}
else{
System.out.printf("EL numero no se encuentra en el arreglo");
}
}
|
|
|
En línea
|
|
|
|
1mpuls0
Desconectado
Mensajes: 1.186
|
Hola. Vas bien... Solo que no puedes pedir el dato cada vez que incremente el contador. for (int contador=0;contador<arreglo.length;contador++)
Lo que hace esa instrucciones es mas o menos así. 1. inicia el contador en 0 2. compara si contador es menor que el tamaño del arreglo. 3. Si es menor entra al bloque. 4. Pide un numero y hace todo lo demás 5. incrementa el contador 6. contador es igual a 1. 2. compara si contador es menor que tamaño de arreglo ... 4. VUELVE a pedir otra vez un numero. .... * Lo que necesitamos es que pida solamente una vez el número, así que necesitas sacar tu petición del número del for. Cuando por fin encuentre el número hay que terminar el ciclo para que ya que no siga recorriendolo, hay varias formas. utilizando la palabra reservada break (muchos no la recomiendan pero es lo más usado xD), igualando el contador al tamaño del arreglo, y utilizando banderas booleanas, por ahora solo te recomiendo el break. Por cierto, aquí donde escrbibes el mensaje hay un combobox (select) que dice "GeSHi" busca una opción que dice "Java" y ahí colca el código (solo el código de java)
|
|
|
En línea
|
abc
|
|
|
ale95121
Desconectado
Mensajes: 11
|
[/import javax.swing.JOptionPane; public class InicArreglo{ public static void main (String args []){ int arreglo[]={1,2,3,4,5,6,7,8,9,10}; for (int contador=0;contador<=10;contador++);{ break; if(arreglo[contador]==opc){ System. out. printf("El numero: "+opc +" se encuentra en el arreglo"); }else{ System. out. printf("EL numero: "+opc +" no se encuentra en el arreglo"); } } } }] asi es como me dijiste que saque el numero para contarlo de 0 y el break para detenerlo??
|
|
« Última modificación: 24 Marzo 2014, 19:50 pm por ale95121 »
|
En línea
|
|
|
|
1mpuls0
Desconectado
Mensajes: 1.186
|
Hola. Como te comenté antes, solo el código colocalo en geshi.
Creo que no estás prestando mucha atención a lo que he escrito, re-leelo.
esta parte está incorrecta, contador<=10, vas a tener un nullpointerexception.
el break lo tienes que hacer cuando hayas encontrado el numero. el break sirve para romper el ciclo.
edito: correlo tu mismo para que veas lo que hace y analices entre lo que hace y lo que escribes en tu código.
Saludos!
|
|
« Última modificación: 24 Marzo 2014, 19:55 pm por Darhius »
|
En línea
|
abc
|
|
|
Mitsu
|
- Break (Romper): Sirve para romper una condición. Se usa para romper las condiciones de los bucles y terminar el mismo.
- Arrays: Los arreglos son una estructura de datos cuya finalidad es almacenar uno o muchos valores de un mismo tipo (salvo se declare como un array de Object). Los arrays son estáticos, es decir, tienes que darle un tamaño y éste no variará. En Java y muchos otros lenguajes, los arreglos empiezan desde la posición cero. Ej:
array[0] = "valor 1"; array[1] = "valor 2"; array[2] = "valor 3"; array[3] = "valor 4"; array[4] = "valor 5";
La manera de trabajar de un bucle es por medio de una condición. En el caso del loop for, la sintaxis es así:
for (variable de control; condicion; incremento/decremento) { // acciones aqui }
Supongamos que variable de control es un entero llamado i que vale 0. Pensamos recorrer un array, entonces, la condición será:
mientras que i sea menor al tamaño del array Y funciona así:
for(int i=0; i<arreglo.length; i++) { // i(0) es menor al tamaño del array ? (5) Si. Entonces i incrementa en 1 y vuelve a la condicion. // i(1) es menor a 5? Si. Entonces incrementa en 1 y vuelve a la condicion. // .... asi con 2,3,4 e incrementa en 1 // i(5) es menor a 5? No. Sale del bucle y } // continua aqui
Existen dos maneras de acceder a un array: La manera tradicional con un loop for, y con un foreach:
For: Ésta forma es ideal cuando vamos a trabajar con los subíndices del array:
for(int i=0; i<arreglo.length; i++) { // operaciones aqui }
Foreach: Ésta nueva forma es ideal cuando no necesitamos trabajar con los subíndices, si no con los elementos del array:
int suma = 0; for(int elementoActual : array o coleccion de enteros) { suma += elementoActual; }
El parámetro de la derecha, es el array o lista que se va a recorrer. Hay que tener en cuenta el tipo de datos que almacena este array o colección, ya que el parámetro de la izquierda representa el elemento actual de la lista en la iteración, por lo que debe ser del mismo tipo.
Espero hayas entendido, porque he tratado de ser lo más explícito posible. Salu2.
|
|
« Última modificación: 26 Marzo 2014, 02:42 am por Mitsu »
|
En línea
|
|
|
|
ale95121
Desconectado
Mensajes: 11
|
Disculpa en verdad le pongo demasiada atencion pero como podras ver mi logica es algo lenta disculpa creo que ya te entendi hasta el for mira (por favor tenme paciencia); [import javax.swing.JOptionPane; public class InicArreglo{ public static void main (String args []){ int arreglo[]={1,2,3,4,5,6,7,8,9,10}; for(int indice=0; indice<=arreglo.length; indice++); if(opc==arreglo[indice]){ System. out. println("El numero se encuentra en el arreglo"); break; }else{ System. out. println("El numero no se encuentra en el arreglo"); } } }/code]
|
|
« Última modificación: 24 Marzo 2014, 20:27 pm por ale95121 »
|
En línea
|
|
|
|
ale95121
Desconectado
Mensajes: 11
|
mitsu gracias por la informacion me ah quedado un poco mas claro para que es el for pero en la lista que pones de el arreglo ya lo habia querido hacer asi antes pero marca error en los corchetes a que se debera? [String[] array = new int[5]; arreglo[0] = "valor 1"; arreglo[1] = "valor 2"; arreglo[2] = "valor 3"; arreglo[3] = "valor 4"; arreglo[4] = "valor 5";]
|
|
|
En línea
|
|
|
|
Mitsu
|
Me equivoqué con el nombre del array nada más. Verifica nuevamente el código que puse.
|
|
|
En línea
|
|
|
|
1mpuls0
Desconectado
Mensajes: 1.186
|
Disculpa en verdad le pongo demasiada atencion pero como podras ver mi logica es algo lenta disculpa creo que ya te entendi hasta el for mira (por favor tenme paciencia); [import javax.swing.JOptionPane; public class InicArreglo{ public static void main (String args []){ int arreglo[]={1,2,3,4,5,6,7,8,9,10}; for(int indice=0; indice<=arreglo.length; indice++); if(opc==arreglo[indice]){ System. out. println("El numero se encuentra en el arreglo"); break; }else{ System. out. println("El numero no se encuentra en el arreglo"); } } }/code]
Bravo! ves como si puedes, con un poco de ayuda. Solo falta algo... suponiendo que se recorre todo el arreglo <=arreglo.length
al entrar en esta parte arreglo[indice]
verifica esa parte y ya estuvo
|
|
|
En línea
|
abc
|
|
|
ale95121
Desconectado
Mensajes: 11
|
pero en el break me da un error y el if tambien mira y el if entonces le tengo que poner arreglo[indice].length??; [InicArreglo.java:7: error: cannot find symbol if(opc==arreglo[indice]){ ^ symbol: variable indice location: class InicArreglo InicArreglo.java:9: error: break outside switch or loop break; ^ 2 errors /code]
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como agregar un arreglo de tipo persona en un Archivo en java.
Java
|
rub'n
|
7
|
8,148
|
30 Marzo 2011, 17:10 pm
por rub'n
|
|
|
Recorrer un Arreglo en Java (Buscar String)
Java
|
NatzMorel
|
1
|
4,416
|
14 Junio 2012, 11:31 am
por ollo
|
|
|
[Ayuda] Arreglo y registro java
Java
|
axiotm
|
2
|
6,672
|
27 Agosto 2013, 12:25 pm
por Zoik
|
|
|
seleccionar un numero dentro de un arreglo en java
Java
|
daniloops
|
4
|
5,429
|
1 Julio 2014, 05:15 am
por daniloops
|
|
|
Como eliminar la casilla de un arreglo en java?
Java
|
fst091
|
3
|
3,538
|
1 Abril 2016, 23:53 pm
por LaiaxanIV
|
|