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

#91
Ejercicios / Algoritmos para cubo de pintura
3 Diciembre 2008, 15:05 PM
A ver quien se las ingenia mejor. Propongo sugieran algoritmos (si en vez de un algoritmo ponen un codigo, vale, pero bien comentado, asi todos nos entendemos) para simular la funcion cubo de pintura de los paintbrush (MS PAINT, KolourPaint, etc). El cubo de pintura (para los que no sepan  :¬¬) rellena el menor area encerrada que sea del mismo color al punto donde hemos hecho click con el raton.

Dejo el mio para empezar:

//inicio
pintarPuntos (pixel p)
crear un arreglo con todos los puntos circundantes (los que lo rodean)
repetir desde x=0 hasta x=longitud del arreglo
  si el elemento pixel x del arreglo es del mismo color que el punto inicial
    pintar x.
    pintarPuntos(formar nuevo arreglo con los puntos circundantes de arreglo(x))
  sino
   pasar al siguiente punto
//fin


Como es recursivo, creo que comeria un monton, pero me parece que funcionaria correctamente.
#92
Java / Re: error codigo matriz
3 Diciembre 2008, 11:42 AM
Tu pones

Código (java) [Seleccionar]
for(i=0;i<N;i++){
            Max=0;
            aux=0;
            for(h=0;h<N;h++){
                if(PWM[h][i]>Max){
                    Max=PWM[h][i];
                    aux=h;
                }


y lo declaras

      
Código (java) [Seleccionar]
N= Integer.parseInt(teclat.readLine());
PWM=new int [4][N];


Entonces cuando N es mas de 4, por ejemplo, N=6, h toma el valor 4,5 y el programa te larga un arrayIndexOutOfBounds Exception.
Debes corregir esa parte. No te dire bien como porque no entiendo que hace el programa (esta en italiano :huh:).
Saludos.
#93
Java / Re: error codigo matriz
2 Diciembre 2008, 04:51 AM
Código (java) [Seleccionar]
PWM=new int [4][N];
     
      // Introducir datos en matriz
      System.out.println("Introdueix els valors i finalitza amb *");
     
         //Encontrar valor final
      while ((val!='*')){
         val=(char)teclat.read();
     
            // Asignar valor al lugar correspondiente                                                                                         
         switch(val){
            case 'A':
                    PWM[0]=PWM[0]+1;
                    break;


Eso no va andar nunca asi. Tiene muchos errores graves: mira la declaracion de PWM: un arreglo bidimensional de enteros. Luego, en la sentencia
Código (java) [Seleccionar]
PWM[0]=PWM[0]+1 le intentas sumar un entero a una propiedad de la matriz. Lo logico seria acceder al valor
Código (java) [Seleccionar]
PWM[x][y] y luego sumarle uno.
Corrige lo basico y replantea tu duda.
Saludos
#94
Java / Re: DIBUJO CON JAVA......DISFRUTENLO....
30 Noviembre 2008, 22:34 PM
Esta muy bueno, pero si estas ideas las tomaste del tutorial que yo me tome el trabajo de escribir y publicar me hubiera gustado que al menos lo menciones.
Si no es asi, ignora esto que dije.

Con respecto al programa, veo que sabes escribir codigo muy limpio. Te ha quedado muy bien. Un saludo.
#95
El array de strings sirve, por si no sabias, para que el usuario pueda enviar parametros al programa desde la cmd. Como no esta pensado que el usuario inicie con distintos comandos, no los inclui. Ademas, el main ese es solo a modo de prueba del proyecto.

La clase Frame, perteneciente al AWT, no incluye el defaultcloseoperation que mencionas. Sin embargo, la clase derivada, JFRAME, lo incluye por defecto. Si lo pruebas, veras que la aplicacion cierra naturalmente al oprimir la X superior derecha.

Un error que vale la pena mencionar es: cuando el usuario hace un cuadrado de un determinado tamaño, y luego modifica el tamaño para hacer el siguiente cuadrado de otro tamaño, el cambio afecta a todos los cuadrados guardados. Para solucionarlo, basta cambiar en la intruccion paintComponent donde dice "i<tamano" por "i<aux1.obtenerBase()".

saludos  ;D
#96
Lenguaje de Programacion: Java
Codigo completo: Si.
Autor: juancho77
Formato:PDF
Comentario: Lo escribi para mostrar lo sencillo que puede ser desarrollar algo que a primera vista parece super complejo, como son los dibujadores graficos (por ejemplo Ms Paint, Kolour Paint, etc). Esta todo hecho en Java.

Link al manual: LINK
Link al source: LINK y en el manual tambien esta el mismo link.

#97
Java / Re: No me sale el algoritmo! >_>
27 Noviembre 2008, 19:45 PM
Código (java) [Seleccionar]
public boolean esPrimo(numero)
{
  if ((numero==1)||(numero==2)||numero==3))
     return true;
  else
  {
     for (int i=2;i<numero;i++)
     {
        if (numero % i ==0)
         return false;
     }
  return true;
}


Ese es el basico esPrimo. Lo puedes optimizar disminuyendo la cantidad de condiciones del primer if y evitando que recorra (en el for) numero innecesarios: un numero nunca sera divisible por aquellos que esten entre (numero/2)+1 y numero-1.
Saludos.
#98
Java / Re: Parar bucle
27 Noviembre 2008, 04:34 AM
br es una referencia al obejeto BufferedReader que lee los strings de entrada:

Código (java) [Seleccionar]
while (br.readLine.charAt(0)!='n')
{
  //hacer algo
}
#99
jeje yo lo mire pero es lo mismo que vi en la universidad el cuatrimestre pasado. Igual esta muy bueno.  ;)
Saludos!
#100
Java / Re: MOVER UN CUBO EN JAVA =S
23 Noviembre 2008, 22:27 PM
No digo que una o otra sea mas efectiva porque no me dedico a interfaces graficas. Solo decia que sigue siendo posible utilizar Paint() y repaint() en las componentes de javax.swing ya que son basicamente una extension del AWT. Sin embargo, me parece que no te expresas bien o estas confundido en algo: esos metodos paint y repaint que dices son usados siempre por todos los elementos para dibujarse en pantalla.
La invocacion
Código (java) [Seleccionar]
JButton boton= new JButton("kaka");
es una llamada que incluye al paint del frame o del panel para dibujar el boton en pantalla.

Saludos.