elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Valor no Iniciallizado en Arrays (cadenas) dentro de un Switch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Valor no Iniciallizado en Arrays (cadenas) dentro de un Switch  (Leído 13,263 veces)
camaleon123

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: Valor no Iniciallizado en Arrays (cadenas) dentro de un Switch
« Respuesta #10 en: 1 Enero 2010, 01:32 am »

:) vale
esta comentado para que lo veas bien

Código
  1. import javax.swing.JOptionPane;
  2.  
  3. public class pruebas {
  4. //variables
  5. private  int cadena[]  =  new int[5];
  6. private  int opcion    = 0;
  7.  
  8. //Metodo Menu principal
  9. public void menu(){
  10. do
  11. {
  12. String select = JOptionPane.showInputDialog(null, "Selecciona tu opcion: \n" +
  13.    "1) Cadena. \n" +
  14. "2) Salir.  ");
  15. opcion=Integer.parseInt(select);
  16. switch(opcion) {
  17. case 1: leer(cadena);
  18. break;
  19. case 2: JOptionPane.showMessageDialog(null, "Adios");
  20. break;
  21. default: JOptionPane.showMessageDialog(null, "Incorrecto");
  22. break;
  23. }
  24. }while(opcion!=2);
  25. }
  26. //Metodo de para leer
  27.    public void leer(int cadena[]) {
  28.        String mostrar="";
  29.     for(int posicion=0;posicion<cadena.length;posicion++) {
  30.         String temp =JOptionPane.showInputDialog(null, "Ingresa 5 valores: \n");
  31.         //comprobamos que el valor ingresado sea distinto que null y si es null
  32.         // regresa al menu principal menu();
  33.         if(temp!= null){
  34.         cadena[posicion] = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingresa 5 valores: \n"));
  35.         mostrar=mostrar+cadena[posicion]+"\n";
  36.         //regresamos al menu principal
  37.         }else
  38.         menu();
  39.       }
  40.         JOptionPane.showMessageDialog(null, "Los valores introducidos fueron: \n" + mostrar);
  41.       }
  42.    public static void main(String arg[]) {
  43.    // instancia de pruebas y llamamos al menu principal
  44.     new pruebas().menu();
  45.    }
  46. }

wooooow MUCHAS GRACIAS!  ;D Eres todo un Master en Java, no encontraba nada en google para hacer eso, solo di con algo sobre  "catch (Exception e) { return null }" pero nada claro.

No se que hora tengas pero: Feliz Año Nuevo 2010!

Nos veremos en el 2010 aqui en el foro, espero y deseo que con menos dudas y mas respuestas mias de java :D

¡Feliz Año Nuevo!


En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Valor no Iniciallizado en Arrays (cadenas) dentro de un Switch
« Respuesta #11 en: 1 Enero 2010, 02:05 am »

mas aprende uno por experiencia y practica :)
jaja claro aqui faltan 4 horas :P y feliz año nuevo


En línea

camaleon123

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: Valor no Iniciallizado en Arrays (cadenas) dentro de un Switch
« Respuesta #12 en: 1 Enero 2010, 04:42 am »

Código
  1.    public void leer(int cadena[]) {
  2.        String mostrar="";
  3.  
  4.     for(int posicion=0;posicion<cadena.length;posicion++) {
  5.  
  6.         String temp =JOptionPane.showInputDialog(null, "Ingresa 5 valores: \n");
  7.  
  8.         //comprobamos que el valor ingresado sea distinto que null y si es null
  9.         // regresa al menu principal menu();
  10.         if(temp!= null){
  11.  
  12.         cadena[posicion] = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingresa 5 valores: \n"));
  13.  
  14.         mostrar=mostrar+cadena[posicion]+"\n";
  15.  
  16.         //regresamos al menu principal
  17.         }else
  18.  
  19.         menu();
  20.       }
  21.         JOptionPane.showMessageDialog(null, "Los valores introducidos fueron: \n" + mostrar);
  22.       }

Probe el codigo y al ingresar al metodo leer, ingreso hasta 10 datos y de ahi me muestra la cadena. Ejemplo: Ingreso 1,2,3,4,5,6,7,8,9,10 y solo me muestra 2,4,6,8,10. Cheque el codigo y pues efectivamente asi es porque primero hay un String que me pide un dato e ingreso 1 y checa que no es null y de ahi entre al verdadero JOption que establece el valor a la cadena, ahi pongo 2, y asi se repite...

La idea me gusto y ando queriendo perfeccionar pero no puedo, ya entendi que el error es porque al cerrar ventana o dar en cancelar asigna "null" a la entrada de datos y sale pero muestra error diciendo que el dato es null.

De ahi se me ocurrio asignar la cadena a un valor entero si no es null pero me dice: "incompatibles types, requerided: int, found: java.lang.String", lo que modifico es lo siguiente:

Código
  1. public void leer(int cadena[]) {
  2.        String mostrar="";
  3.     for(int posicion=0;posicion<cadena.length;posicion++) {
  4.         String temp =JOptionPane.showInputDialog(null, "Ingresa 5 valores: \n");
  5.         //comprobamos que el valor ingresado sea distinto que null y si es null
  6.         // regresa al menu principal menu();
  7.         if(temp!= null){
  8.         //asigno que el valor de cadena[posicion] sea igual a lo que tiene temp, pero da error de incompatibilidad de datos.
  9.         cadena[posicion] = temp;
  10.         mostrar=mostrar+cadena[posicion]+"\n";
  11.         //regresamos al menu principal
  12.         }else
  13.         menu();
  14.       }
  15.         JOptionPane.showMessageDialog(null, "Los valores introducidos fueron: \n" + mostrar);
  16.       }
  17.  

Lo que he tratado es que en vez de:

Código
  1. String temp =JOptionPane.showInputDialog(null, "Ingresa 5 valores: \n");

poner:

Código
  1. int temp = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingresa 5 valores: \n"));

De esa manera se quita el error en:

Código
  1. cadena[posicion]=temp;

pero me muestra un error en:

Código
  1. if(temp!=null)

porque es "Incomparable types: int and <nulltype>

creo que esto que quiero hacer es imposible en java...

mientras seguire buscando en google sobre el tipo de dato "null" y como compararlo
En línea

camaleon123

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: Valor no Iniciallizado en Arrays (cadenas) dentro de un Switch
« Respuesta #13 en: 1 Enero 2010, 04:49 am »

se me acaba de ocurrir dos cosas:

1.- editar el archivo Integer.java en la linea 417 donde dice:
Código
  1.        if (s == null) {
  2.            throw new NumberFormatException("null");
y en vez de ponerle null ponerle un 1, asi al cerrar o dar en cancelar estable un valor 1 en vez de null, pero afecta eso a todo java??

2.- sino se puede lo anterior, se puede convertir de un valor entero a un valor String?
En línea

camaleon123

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: Valor no Iniciallizado en Arrays (cadenas) dentro de un Switch
« Respuesta #14 en: 1 Enero 2010, 05:23 am »

Me cito a mi mismo:

2.- sino se puede lo anterior, se puede convertir de un valor entero a un valor String?

Al fin pude hacerlo!!  ;D :D creo que el año nuevo me depara un nuevo rumbo...

Lo que hice fue crear otra variable entero llamada temp2 que tenga el valor del string temp, de ahi cadena[posicion] toma el valor de temp2.

El codigo listo es:

Código
  1. public void leer(int cadena[]) {
  2.        String mostrar="";
  3.     for(int posicion=0;posicion<cadena.length;posicion++) {
  4.         String temp = JOptionPane.showInputDialog(null, "Ingresa 5 valores: \n");
  5.         //comprobamos que el valor ingresado sea distinto que null y si es null
  6.         // regresa al menu principal menu();
  7.         if(temp!= null){
  8.  
  9.         int temp2=Integer.parseInt(temp);
  10.  
  11.         cadena[posicion] = temp2;
  12.  
  13.         mostrar=mostrar+cadena[posicion]+"\n";
  14.         //regresamos al menu principal
  15.         }else
  16.         menu();
  17.       }
  18.         JOptionPane.showMessageDialog(null, "Los valores introducidos fueron: \n" + mostrar);
  19.       }
  20.  
« Última modificación: 1 Enero 2010, 05:31 am por camaleon123 » En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con arrays dentro de arrays « 1 2 »
PHP
Servia 11 7,240 Último mensaje 10 Marzo 2011, 09:04 am
por Servia
Include dentro de un switch
PHP
z3nth10n 3 2,361 Último mensaje 8 Junio 2012, 23:54 pm
por WarGhost
Multiplicación del valor dentro de la función
Desarrollo Web
RoxyHana 2 2,302 Último mensaje 2 Agosto 2013, 20:34 pm
por RoxyHana
DUDA - Comparar estructuras dentro de arrays (Quiniela)
Programación C/C++
Josogalar 4 2,750 Último mensaje 5 Enero 2014, 12:34 pm
por SoyelRobert
Hackear el valor dentro de un juego.
Hacking
Blaz3 3 3,286 Último mensaje 3 Diciembre 2019, 14:02 pm
por Reent
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines