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 - Leyer

#361
Java / Re: Sincronizar Threads
21 Abril 2010, 21:30 PM
Si tienes un proceso muy largo como descargar un archivo, es recomendado usar un hilo que haga esa tarea, ya que si lo colocas supongamos dendro del constructor de la class par la GU todos los componentes estaras congelados hasta que el proceso termine , como tu estas diciendo que lo vas a ser secuencial y todo estara en un solo proceso gui y descarga esto congelara la gui hasta que termine el proceso sin dudas.

Un Saludo.
#362
Java / Re: Sincronizar Threads
21 Abril 2010, 20:09 PM
Cita de: alzehimer_cerebral en 21 Abril 2010, 19:37 PM
Si habia preguntado algo parecido, pero el codigo que me has puesto me ayuda todavia mas...  De todas formas he optado en no usar un thread para la descarga ya que si la ejecucion del programa al final es secuencial no tiene mucho sentido..

Que opinas LEYER??

Salu2

alzehimer_cerebral

Cierto, pero tienes que considerar en este caso que si no usas un hilo y tu programa es secuencial , habria problemas en tu interfaz ya que se congelaria hasta que finalize el proceso de descarga, aunke cuando haces wait en la GUI quisas pasara lo mismo habria que aplicar un poco mas de logica en ese caso.

Un Saludo.
#363
Java / Re: uso de this
21 Abril 2010, 18:52 PM
Bueno el Main es un metodo estatico, asi que no puedes acceder a variables con acceso private tendrias que colocarle static tambien a la variable en la clase para poder usar this en el main, claro si el metodo main no es statico puedes usar this para tantas cosas te lo permita tu class.

Un Saludo.
#364
Java / Re: generar un fichero
21 Abril 2010, 18:46 PM
En efecto  funciona, pero claro esta que sera vacio, es muy distinto si lo creas de una ves con un buffer de escritura, especificarias su contenido de una vez

Un Saludo,
#365
Java / Re: Sincronizar Threads
21 Abril 2010, 18:25 PM
Mira este ejemplo que hice

Otra cosa ya no habias preguntado sobre esto creo que el otro hilo te lo habiamos solucionado.


Código (java) [Seleccionar]
class Thread_ extends Thread{
private  GUI gui = null;
public Thread_(GUI gui){
this.gui = gui;
}
@Override
public synchronized void run(){
try {
Thread.sleep(2000);
synchronized (gui) {
gui.notify();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public class GUI {
public synchronized void download() throws InterruptedException{
Thread_ thread_ = new Thread_(this);
thread_.start();
this.wait();
}
public static void main(String args[]) {
try {
new GUI().download();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}


Un Saludo.
#366
NO necesitas leer mucho para entender eso, Es decir solo necesitar saber que con GET obtienes/Capturas y con SET cambias, recuerda cada quien tiene una solucion diferente. y no entiendo por que te complicas tanto con esto de get y set :huh:

#368
Java / Re: java y access
19 Abril 2010, 21:25 PM
Si buscas ejemplos deberias googlear un poco

http://200.26.134.109/itmajc/hermesoft/portal/home_1/rec/arc_1649.pdf

#369
Java / Re: Necesito ayuda en ejercicios
19 Abril 2010, 21:09 PM
Encontrar ejercicios como esos es complicado, te recomiendo que comiences ha hacerlos y por aqui te ayudamos en las dudas que tengas.

Un Saludo.
#370
Java / Re: ayuda con este ejercicio
19 Abril 2010, 20:36 PM
Mejore tu code un  poco :xD
Código (java) [Seleccionar]

import java.util.Scanner;

public class Main {
public static final Scanner leer= new Scanner(System.in);
   public static void main(String[] args){
   int max = 0, prom =0, sum=0;  
   System.out.print("Ingrese Numero de Datos a Evaluar:");
   max=leer.nextInt();  
   ClaseAlumnos alumnos[] = new ClaseAlumnos[max];
   System.out.println("Ingreso de Datos");
   System.out.println("----------------");
   for(int index=0;index<alumnos.length;index++)
   { alumnos[index] = new ClaseAlumnos();
   System.out.println("");
   System.out.print("Ingrese Nombre["+index+"]:");
   alumnos[index].setNombre(leer.next());  
   System.out.print("Ingrese NroCarnet["+index+"]:");
   alumnos[index].setNrcarnet(leer.nextInt());
   System.out.print("Ingrese Promedio["+index+"]:");
   alumnos[index].setPromedio(leer.nextDouble());
   }
   System.out.println("\nDatos Ingresados");
   System.out.println("-------------");
   for(int index=0;index<alumnos.length;index++){
    System.out.print("Alumno: ["+index+"]--> [ ");
    System.out.print("Nombre: "       +alumnos[index].getNombre()  +" - ");
    System.out.print("Nro de carnet: "+alumnos[index].getNrcarnet()+" - ");
    System.out.print("Promedio: "     +alumnos[index].getPromedio()+" \n");
    sum+=alumnos[index].getPromedio();
    }
   double m1= alumnos[0].getPromedio();
   double m2= alumnos[0].getPromedio();
   int index_M1=0 ,index_M2=0;
   for(int index=1;index<alumnos.length;index++){
    if(!(m1>alumnos[index].getPromedio())){
    m1 = alumnos[index].getPromedio();
    index_M1 = index;
    }
    if(!(m2<alumnos[index].getPromedio())){
    m2 = alumnos[index].getPromedio();
    index_M2 = index;
    }
    }
   prom = sum/max;
   System.out.println();
   System.out.println("Alumno con promedio alto: "+alumnos[index_M1].getNombre());
   System.out.println("Alumno con promedio bajo: "+alumnos[index_M2].getNombre());
   System.out.println();
   System.out.println("Promedio Total: "+prom);
   }
}
class ClaseAlumnos{
private String nombre     = null;
private int nrcarnet         = 0;
private double promedio = 0;
   public ClaseAlumnos(String nombre, int nrcarnet, double promedio){
       this.nombre   = nombre  ;
       this.nrcarnet = nrcarnet;
       this.promedio = promedio;
   }
  public ClaseAlumnos(){}
 
  public String getNombre()     {return nombre  ;}
  public double getPromedio() {return promedio;}
  public int getNrcarnet()         {return nrcarnet;}
 
  public void setNombre(String nombre)        {this.nombre   = nombre   ;}
  public void setNrcarnet(int nrcarnet)          {this.nrcarnet = nrcarnet ;}
  public void setPromedio(double promedio) {this.promedio = promedio;}
 
}


Espero te sirva
Un Saludo.