elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 01:54  


Tema destacado: Grupo de Facebook de elhacker.net

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

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Dificultades en Java
« en: 11 Abril 2011, 21:15 »

Estoy haciendo un programa de bastante complicacion , al menos para mi nivel en Java el caso es que es como un periodico.Una breve explicacion de lo que debe pasar en el programa, el usuario puede añadir "trabajadores del periodico", los he guardado en un ArrayList hasta aqui todo bien , sigue de la siguiente manera, cada vez que el usuario escriba el nombre de uno de estos trabajadores se debe activar su columna si es que han publicado algo y mostrar el contenido, el principal problema es que hay un arraylist para las publicaciones pero claro solo puedo añadir publicaciones en general , es decir las publicaciones no estan en la columna de ningun trabajador especifico , me gustaria que cuando yo escribiera el nombre del trabajador y despues publicar, pudiera publicar en su columna , mientras que cuando escriba en la de otro trabajador poder escribir en la suya y finalmente mostrarlas segun los nombres de los trabajadores.
Hasta ahora como ya he dicho solo he conseguido publicar en general, por asi decirlo me publico en mi propia columna pero no se como hacer lo que les he dicho.


En línea
zepheon

Desconectado Desconectado

Mensajes: 30



Ver Perfil
Re: Dificultades en Java
« Respuesta #1 en: 12 Abril 2011, 01:15 »

Supongo que tendrás una clase Columna y una clase Publicacion, si es así, podrías hacer que uno de los atributos del trabajador sea un objeto de la clase Columna (su columna específica) y que uno de los atributos de Publicacion sea el trabajador que la ha escrito, de esta forma la vinculas con ese trabajador en concreto. Entonces, cuando busques a un trabajador por su nombre, miras su columna y si tiene alguna publicación la muestra. La idea es jugar con los atributos para poder decir "esta publicación pertenece a tal trabajador, a tal columna, o esta columna pertenece a tal trabajador, o el trabajador tiene tales publicaciones, y así poder relacionarlos fácilmente.

Espero que te haya servido de algo aunque estemos hablando del problema a muy grandes rasgos y sin meternos en código. Si ves que no va por ahí la cosa o que habría que tener en cuenta algo sobre la implementación o algún fragmento de código para ayudarte mejor a resolver el problema, bienvenido sea  :xD

Saludos!


En línea

Do or do not, there is no try.

Que la masa por la derivada de la velocidad respecto al tiempo te acompañe.
Shakos

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Dificultades en Java
« Respuesta #2 en: 12 Abril 2011, 17:50 »

Haber, la cosa seria que crear un vector de publicaciones para cada trabajador y cada vez que le diera a publicar se activara un array u otro pero eso es imposible primero porque no se cuantos trabajadores se entraran desde el principio y despues que hacerlo seria una mostruosidad de codigo, bueno cuelgo lo que tengo puesto haber si ha alguien se le ocurre alguna forma.

Código
Publicacion mensaje = new Publicacion();
 
   LinkedList columna = new LinkedList();
   private int contador = 0;
 
 
   public Persona(String nombre,String ciudad){
 
       this.nombre = nombre;
       this.ciudad = ciudad;
 
   }
   public Persona(){
 
   }
   public String getNombre(){
       return this.nombre;
   }
   public String getCiudad(){
       return this.ciudad;
   }
 
   @Override
   public String toString(){
 
       String str = ("=============="+"\n"+this.nombre+"\n" + this.ciudad+"\n");
       return str;
   }
 
   public void Publicar(String msg){
 
       long fecha = ClaseAuxiliar.getFechaActual();
       Publicacion nueva = new Publicacion(fecha,msg);
       mensaje = nueva;
       publicaciones.add(mensaje);
       columna.add(publicaciones);
 
   }
   public void Columna(){
 
        if(!columna.isEmpty()){
 
             System.out.println("      columna      ");
             for(Iterator it = publicaciones.iterator(); it.hasNext();){
                 Publicacion x = (Publicacion)it.next();
                 System.out.println(x.toString());
 
             }
            }
             if(muros.isEmpty()){
                 System.out.println("\nNo hay publicaciones recientes");
             }
 
   }
« Última modificación: 16 Abril 2011, 00:06 por Debci » En línea
zepheon

Desconectado Desconectado

Mensajes: 30



Ver Perfil
Re: Dificultades en Java
« Respuesta #3 en: 15 Abril 2011, 14:52 »

Siento si no te respondí antes, es que he estado con exámenes y no he tenido tiempo ni para respirar xD Vi también que abriste otro post buscando alguien que te ayude sin mucha suerte, supongo que te urgirá hacer esto, así que intentaré ayudarte xD

Bueno, para empezar, yo personalmente definiría Columna como una clase a parte e implementaría una LinkedList de columnas, dentro de las que habrá o no una publicación.

Te dejo un ejemplo muy básico de como usar un HashMap aplicado a esto, que posiblemente te sirva para resolver tu problema.

Código
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.LinkedList;
 
public class HashEjemplo {
 
public static void main(String[] args) throws IOException {
 
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
// Se definen dos personas de prueba
Persona juanito = new Persona("Juanito", "Tokio");
Persona pepito = new Persona("Pepito", "Nueva York");
 
// Creas el HashMap, las keys seran sus nombres y los values sus
// columnas
HashMap hm = new HashMap();
hm.put(juanito.getNombre(), juanito.getColumnas());
hm.put(pepito.getNombre(), pepito.getColumnas());
 
LinkedList columnas = null;
 
System.out.println("Nombre del trabajador: ");
String name = br.readLine();
 
// Si el HashMap contiene un value con dicha key, lo devuelve
if (hm.containsKey(name))
columnas = (LinkedList) hm.get(name);
 
}
 
}
 

Para implementarlo a tu aplicación, cada vez que creas un trabajador lo metes en el HashMap con su nombre como key y sus columnas como value, y luego para imprimir sus columnas recorres la LinkedList e imprimes, si es que tiene, su publicación.

Espero que te sirva, saludos!
En línea

Do or do not, there is no try.

Que la masa por la derivada de la velocidad respecto al tiempo te acompañe.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
dificultades con cap9
Ingeniería Inversa
_Bj0rD_ 6 800 Último mensaje 15 Febrero 2005, 07:20
por _Bj0rD_
Validar firma digital java.lang.Exception: java.security.AccessControl...
Windows
- Henry - 1 13,681 Último mensaje 7 Junio 2006, 01:10
por - Henry -
Dificultades inyectando
Hacking Básico
w0nt0n 0 224 Último mensaje 11 Septiembre 2006, 15:59
por w0nt0n
tengo dificultades con ajax....
Desarrollo Web
SERBice 5 623 Último mensaje 26 Octubre 2007, 23:38
por SERBice
Ya me diréis que hago. Instalar Xp, dificultades 100/100 Jeje
Windows
WildFroVII 2 395 Último mensaje 18 Mayo 2008, 03:49
por WildFroVII
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines