Java - expliquenme este codigo

 
Vista:

expliquenme este codigo

Publicado por Juan Carlos (1 intervención) el 27/05/2007 05:29:38
tengo problemas en entender la sintaxis de este codigo no logro entender porfavor expliquemne, aqui les paso todo el codigo lo que no logro entender es como funciona el listam osea el arreglo todo lo que esta en nregrita es porque no lo entiendo

import java.util.ArrayList;
import javax.swing.JOptionPane;

public class mensajeria {
//aqui creamos nuestro ArrayList y le colocamos nuestra variable listam
public static ArrayList listam=new ArrayList();

//aqui llamamos a nuestro hilo ProcesaIngresoMensajes y le ponemos la variable hilo1
public static ProcesaIngresoMensajes hilo1= new ProcesaIngresoMensajes();

//aqui llamamos a nuestro hilo ProcesaEnvioMensajes y le ponemos la variable hilo2
public static ProcesaEnvioMensajes hilo2= new ProcesaEnvioMensajes();

public static void main(String[] args) {
//aqui solo inicializo mis hilos que se conectaran
hilo1.start();
hilo2.start();

//este while true es para
while(true){
//aqui llamo a mi clase mensaje y le coloco una variable para simplificar codigo
mensaje m;
System.out.println("...");
for(int i=0;i<listam.size();i++){
m=(mensaje)listam.get(i);
System.out.println(i+"\t"+m.tiempo+"\t"+m.descripcion);
}
try{Thread.sleep(1000);} catch (Exception e){}
}
}
}

//creo una clase mensaje donde solo estaran mis variables destino, descripcion, tiempo ,
//estas variables se crean para poder usarlas en cualquier parte del codigo ya sea en
//las clases hilos u otros.
class mensaje{
String destino;
String descripcion;
int tiempo;
}

class ProcesaIngresoMensajes extends Thread{

public void run(){
while(true){
String menu=JOptionPane.showInputDialog("(0)Salir(1)Continuar(2)TerminarEnvio(3)IniciarEnvio");
if(menu.equals("0")){
System.out.println("********Adios!!!********");
System.exit(0);
}
else if(menu.equals("2")){
System.out.println("******Envio Terminado!!!******");
mensajeria.hilo2.stop();
}
else if(menu.equals("3")){
System.out.println("******Envio Iniciado!!!******");
mensajeria.hilo2=new ProcesaEnvioMensajes();
mensajeria.hilo2.start();
}
if(menu.equals("1")){
mensaje m=new mensaje();
m.descripcion=JOptionPane.showInputDialog("mensaje");
m.destino=JOptionPane.showInputDialog("destino");
m.tiempo=Integer.parseInt(JOptionPane.showInputDialog("tiempo"));
mensajeria.listam.add(m);
}
}
}
}

//creamos nuestra clase ProcesaEnvioMensajes de tipo hilo
class ProcesaEnvioMensajes extends Thread{

public void run(){
// este while(true) ejecutar infinitamentelas instrucciones dentro de ella
while(true){
//aqui llamo a mi clase mensaje y le coloco una variable para simplificar codigo porque
//utilizaremos las variables que estan dentro de la clase mensaje
mensaje m;

for(int i=0;i<mensajeria.listam.size();i++){
m=(mensaje)mensajeria.listam.get(i);
m.tiempo--;
if(m.tiempo==0){
System.out.println("...Enviando "+m.descripcion+ " a "+m.destino);
mensajeria.listam.remove(i);
}
}
try{Thread.sleep(1000);}catch(Exception e){}
}
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:expliquenme este codigo

Publicado por Tom (1831 intervenciones) el 28/05/2007 12:30:38
Empieza por leer esto:

http://java.sun.com/j2se/1.4.2/docs/api/java/util/ArrayList.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar