Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Shakos

#1
Java / Ultima posicion de una arrayList
14 Mayo 2011, 16:05 PM
Como puedo devolver la ultima posicion de un arraylist, sin el indexOf

    public Persona getUltimaPersona(){
       
       
    }
// a la funcion no le puedo pasar nada, es una condicion que debo cumplir y a las personas las guardo en un arraylist de personas, asi que no se como devolver solo la ultima posicion, he intentado hacer algo asi como

int a = personas.size()-personas.size()-1;
personas.get(a);

pero claro no vale, es una solucion muy tonta xD y me marca error
#2
Java / Re: Clases abtractas
7 Mayo 2011, 19:40 PM
Vale gracias despues de algunos intentos por fin lo he conseguido  ;D , ahora tengo otra duda, esta vez supongo que sera mas facil.

public int compareTo(Object o) {
    Persona x = (Persona) o;
    return nombre.compareTo(x.getNombre().toLowerCase());
  }

tengo este codigo en el que basicamente quiero que me ordene alfabeticamente los nombres de las personas, lo que pasa es que no se como imprimir la lista ordenada por pantalla.
He intentado con Collections.sort(listaPersonas), pero no me sirve me marca un error, dice que no encuentra el simbolo (traducido literalmente) pero la lista es un arraylist normal y corriente y esta en la misma clase, la cuestion es que para ordenar obligatoriamente me veo forzado a usar compareTo.
#3
Java / Re: Clases abtractas
7 Mayo 2011, 17:45 PM
no entiendo muy bien donde usarlo :S lo siento , no puedo poner el codigo porque es enorme pero...haber si puedo hacer un pequeño esquema

abtract class Publi{
//posee un constructor, un metodo abtracto y otros tantos que no lo son como el metodo addComentarios(Comentario c){
comentarios.add(c);// arraylist que mete comentarios
}

}

class Comentario{
// constructor de comentario

// metodo toString redefinido para la causa

}

class Persona{
//constructor de persona

// creo un nuevo objeto comentario

Ahora recuerdo que la funcion addComentario esta en publicacion por tanto para llamarla tiene que haber un objeto de tipo publicacion cosa que no puede ser porque es abtracta por tanto si finalmente quedase asi

Comentario x = new Comentario(persona, texto)

(objeto de publicacion ).addComentario(x);

}
#4
Java / Clases abtractas
7 Mayo 2011, 16:06 PM
Estoy haciendo un trabajo para el cual es necesario el uso de clases abtractas, pero tengo algunos problemas.
Basicamente dentro de la clase abtracta hay un constructor, una funcion tipo string abtract y otras funciones no abtract en este caso, el problema se plantea cuando yo quiero instanciar un objeto de esa clase, es imposible, en las subclases con el comando super() aun puedes hacer algo pero necesito usar objetos de esa clase fuera de las subclases y se me plantea el problema que no se hacerlo.
He leido que se puede poner Nombre clase abtract x; ahora x es una variable que apunta a null, pero estamos en las mismas si yo quiero llamar a una de las funciones no abtract que se encuentran dentro de la clase abtract tengo que hacerlo de la siguiente manera//
x.nombredelafuncion(); // esto siempre me da un  null pointer , como es razonable dado que la variable no esta inicializada y no puedo crear un objeto vacio atraves de un constructor vacio dado que , al ser clase abtract no se puede.
Lo que quisiera saber es si hay alguna manera de llamar a esas funciones no abtract que se encuentran dentro de la clase abtract sin necesidad de utilizar un objeto de dicha clase para llamarlas, o si se tiene que usar un objeto indiquenme una inicialización correcta
#5
Java / Tokenizer
28 Abril 2011, 21:18 PM
Tengo una duda sobre el tokenizer, me han dicho que es perfecto para lo que yo quiero hacer pero no se como usarlo.
El caso es que a mi me interesa que el usuario pueda escribir (tanto en mayus como en min) publicar , seguido de lo que se va ha publicar
hasta ahora lo que hacia era que si if(comando.startWith("publicar")) esto pone la reestriccion que solo se puede escribir (publicar), no se podria poner PUBLICAR , ni pUbLicar por ejemplo cosa que vi el equalsIgnoreCase que tampoco me sirve porque en tal caso y como la palabra indica tiene que ser igual y yo nunca se que puede seguir a la palabra publicar
#6
Estoy en un problema del cual no veo solución , he hecho un programa de gestion , donde cada usuario que guarda el sistema puede dejar su comentario en un arraylist de comentarios, el problema es que a mi no me interesa que se vean  todos los comentarios de todas las personas, me explico si yo al programa le pongo juan quiero  que me salgan los comentarios que jun haya podido dejar mientas que si pongo alberto me salgan los de alberto, me propusieron de hacer un Hashmap pero no se muy bien como se hace.
Basicamente el problema es:

Arraydecomentarios.add(comentario) // aqui esta el problema el vector arraydecomentarios es donde publican todos, habria alguna manera de segmentarlo y asignar un nombre a cada uno de los comentarios que se pongan para que asi se pueda hacer de la forma mas correcta posible
?
#7
Java / Re: Dificultades en Java
12 Abril 2011, 17:50 PM
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 (java) [Seleccionar]
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");
             }
       
   }

#8
Java / Dificultades en Java
11 Abril 2011, 21:15 PM
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.
#9
Java / Re: Programacion en java
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
#10
Java / Re: Programacion en java
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.