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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Programacion en java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programacion en java  (Leído 3,843 veces)
Shakos

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Programacion en java
« en: 2 Abril 2011, 16:18 pm »

Hola buenas tengo un problema con la programacion en java, me dan una clase ya hecha la cual me retorna un dato de lo leido en una linea en forma de String hasta aqui ningun problema , el principal problema viene cuando no puedo hacer un switch.
Mi solucion ha sido poner un conjuto de if ..else etc etc pero se me plantea otro problema cuando intento guardar algo lo que sea , dentro de un atributo , es decir , this.loquesea = ...., me sale con que no puedo hacer eso porque el atributo no es de tipo static y yo no puedo ponerlo de esa forma. Para que lo entiendan este es un poco el codigo de ejemplo:

 boolean ejecutar = true; //
   
      while(ejecutar){
          System.out.println("Comando:");
          String opcion = ClaseAuxiliar.leerLinea();// opcion cumple la funcion de leer linea.
          String publicacion = ClaseAuxiliar.leerLinea();// cumple la funcion de leer

          Publicacion publ;
          //CONDICIONES DEL MENÚ
          //PUBLICACIÓN
          if("publicar".equalsIgnoreCase(opcion)){

              long fecha = ClaseAuxiliar.getFechaActual();
              String fechanum = ClaseAuxiliar.fechaNumericaString(fecha);

              Publicacion nueva = new Publicacion(fecha,fechanum,publicacion);
              publ = nueva;
              publ.publicaciones(publ);
              publ.imprimirPubl();
         
 // Mi problema esta en llevar ( publ) hasta el siguiente if el de ( "escrito" )dado que no puedo guardarlo en ningun atributo y si lo guardo en un atributo static solo puede tomar un valor

          }
          if("escrito".equalsIgnoreCase(opcion)){
     
               

          }

Si saben alguna manera de guardar la informacion sin tener que poner un atributo de tipo static se lo agradeceria

.PD perdon por la tosca explicacion pero no se muy bien como expresarlo


En línea

Isótopo

Desconectado Desconectado

Mensajes: 292


Comprende a los demás para comprenderte a tí mismo


Ver Perfil
Re: Programacion en java
« Respuesta #1 en: 2 Abril 2011, 16:49 pm »

Creo que debes de crear el objeto publ fuera del while, para no machacarlo en cada bucle. Si no también lo que puedes hacer es, en vez de igualarlo a nueva, hacer un clone si lo has implementado:

Publicacion publ = nueva.clone();

No entiendo cuando dices lo de llevártelo al siguiente if. Si creas ese objeto en la misma clase, tiene que ser visible, digo yo.


En línea


-Asus Crosshair IV Formula            
-AMD Phenom II X6 1090T 3.94Ghz @1.38V
-Corsair H70
-Sapphire Radeon HD 6970 2GB Dual-Fan
-G.Skill PIS PC3-17066 4GB 1900MHz 7-9-7-20 @1.65V
-WD Caviar Black 500GB
-Seagate Barracuda Green 2TB x2
-Antec TruePower New 750W Modular
-Cooler Master Dominator CM-690
Shakos

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Programacion en java
« Respuesta #2 en: 2 Abril 2011, 19:54 pm »

Basicamente a lo que yo me referia a esto : fijate en la parte que pone//  publ.imprimirPubl();
bueno eso no tendria que estar hay , me explico , deberia estar en el otro if el de "escrito", el problema es que publ no guarda el valor entre if's es decir cuando lo pongo en el otro if el netbeans me dice que publ no esta inicializado cuando yo se que si lo esta pero arriba, eso pense que se solucionaria guardando su valor en un atributo pero me pedia que fuera de tipo static cosa que no puede ser porque en otra parte del codigo hay un arraylist por lo tanto si el atributo es estatico lo que me hace es simplemente replicarme el mismo publ tantas veces como yo se lo haya puesto en vez de poner distintos publ como a mi me gustaria
« Última modificación: 2 Abril 2011, 19:56 pm por Shakos » En línea

Isótopo

Desconectado Desconectado

Mensajes: 292


Comprende a los demás para comprenderte a tí mismo


Ver Perfil
Re: Programacion en java
« Respuesta #3 en: 2 Abril 2011, 20:05 pm »

Tu sabes que está inicializado, pero realmente no tiene por qué estarlo. Me explico, tu lo inicializas si la condicion del primer if es verdadera. Como son dos if aparte puede darse el caso de que el primero (donde se inicializa publ) sea falso y el segundo (donde quieres trabajar con publ) sea verdadero. En ese caso, no podrías trabajar con publ porque no esta inicializado. Si previamente (antes de los bloques if) lo inicializas, no debes de tener problemas. Puedes usar el constructor por defecto si no quieres darle valores a los atributos:

Publicacion publ = new Publicacion();

Creo que así no debes de tener problemas, si es que es ese tu problema xD
En línea


-Asus Crosshair IV Formula            
-AMD Phenom II X6 1090T 3.94Ghz @1.38V
-Corsair H70
-Sapphire Radeon HD 6970 2GB Dual-Fan
-G.Skill PIS PC3-17066 4GB 1900MHz 7-9-7-20 @1.65V
-WD Caviar Black 500GB
-Seagate Barracuda Green 2TB x2
-Antec TruePower New 750W Modular
-Cooler Master Dominator CM-690
Shakos

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Programacion en java
« Respuesta #4 en: 2 Abril 2011, 20:36 pm »

Muchas gracias  ;-) si ese era el problema , la verdad suponia que era una tonteria, no me habia dado ni cuenta.
En línea

Shakos

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Programacion en java
« Respuesta #5 en: 3 Abril 2011, 20:47 pm »

Hola tengo otra pregunta , esta vez me gustaria saber como puedo discriminar un elemento de un String, es decir yo quiero que cuando el usuario escriba "por ejemplo" abrir: haga una accion y que cuando escriba abrir + una cosa que determine el usuario pase otra cosa, se que existe la opcion split pero no sale bien , pongo la parte del codigo para que se entienda mejor.

if("publicaciones".equalsIgnoreCase(opcion)){
              periodico.pagina();
          }
el caso es que el usuario tanto puede escribir , publicaciones como publicaciones + un nombre que el determine y que luego el programa buscara en un arraylist si es que se encuentra el problema es que claro no puedo , partir de forma efectiva el string o no se como hacerlo
« Última modificación: 3 Abril 2011, 21:33 pm por Shakos » En línea

Isótopo

Desconectado Desconectado

Mensajes: 292


Comprende a los demás para comprenderte a tí mismo


Ver Perfil
Re: Programacion en java
« Respuesta #6 en: 4 Abril 2011, 11:52 am »

Podrías intentarlo con split. El usuario que escriba "abrir+otra_opcion". Con el split separas la cadena por su signo "+". Ahora te creas un método estático, en otra clase aparte, que se encargue de llamar a un método o hacer una acción dependiendo de la cadena "otra_opcion". Puedes poner un switch para las distintas acciones que preveas y ya solo tendrías que llamar a ese método estático para resolver eso.

Quizás no sea necesario crearte otra clase y métodos estáticos, pero de esa forma te queda todo mucho más encapsulado y a la hora de corregir problemas o implementar nuevas soluciones es todo mucho más fácil.
En línea


-Asus Crosshair IV Formula            
-AMD Phenom II X6 1090T 3.94Ghz @1.38V
-Corsair H70
-Sapphire Radeon HD 6970 2GB Dual-Fan
-G.Skill PIS PC3-17066 4GB 1900MHz 7-9-7-20 @1.65V
-WD Caviar Black 500GB
-Seagate Barracuda Green 2TB x2
-Antec TruePower New 750W Modular
-Cooler Master Dominator CM-690
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Java Programacion Red
Java
cimi 0 3,547 Último mensaje 13 Noviembre 2004, 17:16 pm
por cimi
un poco de programacion en java...
Java
hifrajjy 2 2,437 Último mensaje 17 Marzo 2009, 23:54 pm
por ~~
Comienzo con la programacion en java. « 1 2 »
Java
Xkt 12 6,543 Último mensaje 18 Mayo 2009, 08:19 am
por Amerikano|Cls
Programacion Java pra linux
Programación General
F0L3 1 2,148 Último mensaje 19 Agosto 2011, 13:14 pm
por Valkyr
Java o Programacion Web?
Programación General
cacara 9 5,329 Último mensaje 18 Febrero 2012, 17:29 pm
por RyogiShiki
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines