Mostrar Mensajes

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


Mensajes - Alex Rodríguez

Páginas: 1 ... 28 29 30 31 32 [33] 34 35 36 37 38 ... 93
641
Hola Pedro, todo muy bien resuelto

Saludos

642
Hola ESOJ

En primer lugar felicitarte porque se ve un código que demuestra conocimientos y que ha requerido dedicación. También se ve que estás trabajando bien con el diseño orientado a objetos.

Te comento algunos detalles

Nada más ver el código en un IDE salta una cosa a la vista: las clases no tienen nombres adecuados. Los nombres de las clases deben ser descriptivos del cometido de la clase o qué representa la clase. Además debe seguirse la convención de que los nombres de las clases comiencen por mayúsculas. Nombres como gg ó ii no dicen nada sobre el cometido de estas clases.

Lo mismo te ocurre con atributos y métodos. Todos los nombres deben ser autodescriptivos en la medida de lo posible. Nombres de método como este() no son autodescriptivos.

Nombres de atributos como pC,pO,pN tampoco son autodescriptivos

Las clases deben contener comentarios útiles. Por ejemplo

Código: [Seleccionar]
/**
 * Write a description of class prueba1 here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */

no tiene ninguna utilidad.


Parece que estás usando espacios para centrar texto ¿? p1 = new JButton("Teoria  "); y  if(e.getActionCommand().equals("Teoria  ") )

parece que tienen unos espacios después de la palabra Teoria. Esto yo diría que es algo no recomendable, de hecho con facilidad hará que se incurra en inconsistencias (por ejemplo que cuando se haga el mantenimiento del programa quede en un sitio con un espacio más o menos que en otro sitio).

Hay otros sitios donde ocurre también esto.

Ya desde el punto de vista del usuario encuentro algunas cosas mejorables: las ventanas se abren una encima de otra y la de abajo queda oculta. Pareciera que se estuviera en la misma ventana (aunque en realidad se ha abierto una nueva). Quizás hiciera el programa más usable si cuando abres una ventana cierras la anterior e incluyes un botón o enlace "Volver" que permita cerrar la ventana actual y pasar a la anterior.


Saludos

643
Hola KeNnET el ejercicio está bien resuelto

Comentarte que la inicialización de atributos normalmente se hace a "" para cadenas, 0 para valores numéricos y false para booleanos.

Por ello en lugar de casado = true; es recomendable usar casado = false; Esto es por convención, no es obligatorio pero es lo que se suele hacer

Saludos

644
Hola Bcks7 parece que sigue faltando código, aparece dos veces el código de la clase Casa y no aparece el código de la clase SalonCasa

Saludos

645
Hola bucanero antes de poder responder necesitaría saber con ejemplos qué es lo que se quiere hacer.

Por ejemplo supongamos la matriz:

(8     3     11)
(4     1      7)
(22    9     5)

Podemos ordenar por filas y el resultado sería:

(3      8    11)
(1      4     7)
(5    9    22 )

O podemos ordenar por columnas y el resultado sería:

(4     1     5)
(8      3     7)
(22    9    11)

O podemos hacer un orden absoluto de izquierda a derecha y de arriba a abajo y el resultado sería:

(1     3     4)
(5      7     8 )
(9     11    22)

¿Qué tipo de ordenación quieres realizar? ¿Puedes poner ejemplos?

Saludos

646
Hola Pedro, todo correcto

Saludos

647
Hola Eusebio en este curso tienes explicados todos los conceptos necesarios http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188 e incluso en los foros puedes encontrar ejercicios similares al que planteas, por ejemplo

Ejercicio crear lista de objetos CU00666B: https://www.aprenderaprogramar.com/foros/index.php?topic=2262.0

Ejercicio crear lista de objetos CU00667B: https://www.aprenderaprogramar.com/foros/index.php?topic=2889.0

Tanto en el curso como en los foros hay más ejemplos

Saludos

648
Hola Bcks7 parece que falta código (el código de las clases CocinaCasa y Saloncasa) siempre pedimos poner el código completo para poder compilarlo (aunque el código sea el mismo que en algún ejercicio anterior, ya que así se puede compilar y comprobar más fácilmente)

Saludos

649
Hola Navtersik , todo bien. Comentar que igual que el cierre de hr es con /> recomendamos cerrar <meta charset="utf-8"> de la misma manera, es decir, dejarlo como <meta charset="utf-8"/>

Saludos

650
Hola Pedro el ejercicio cumple completo con lo que se pedía. Una posible mejora sería plantear el que para los días que son menores de 10 no se muestre el 0 antes del dígito, por ejemplo hacer que se mostrara 1 de enero de 2089, 2 de enero de 2089 en lugar de 01 de enero de 2089, 02 de enero de 2089

Saludos

651
Hola Pedro está bien resuelto y bien maquetado buen trabajo

Saludos

652
Hola, si tienes bien la instalación habría que probar varias cosas

Vete al menú Run (ejecutar), Edit Configurations (Editar configuraciones), selecciona el proyecto y elige un dispositivo para la emulación. Prueba varios a ver qué pasa...

Saludos

653
Muchas gracias Proserpina, esperamos que los otros cursos te gusten tanto como este. Además te animamos también a participar en los foros respondiendo a las personas que se estén iniciando así ayudamos entre todos.

Saludos

654
Hola MegumiLawliet

Para pegar código en los foros revisa el hilo https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 y sigue lo que ahí se explica es la mejor forma para darle formato adecuado al código

El enlace que has puesto parece que no funciona, al menos a mí no me carga ninguna página

Si estás formándote en java te recomiendo el curso java desde cero: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

He encontrado este código para generar el curp no sé si te puede servir

Código: [Seleccionar]
package curp;

import org.apache.commons.lang.StringUtils;

import javax.swing.*;
import java.util.Arrays;
import java.util.Random;

public class CurpGenerator
{
// ------------------------------ FIELDS ------------------------------

    public static final String[] MESES =
        {"Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dec"};

    public static final String[] MESES_VALOR = {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"};

    public static String[] ENTIDAD_FEDERATIVA = {"AGUASCALIENTES",
                                                 "BAJA CALIFORNIA NTE.",
                                                 "BAJA CALIFORNIA SUR",
                                                 "CAMPECHE",
                                                 "COAHUILA",
                                                 "COLIMA",
                                                 "CHIAPAS",
                                                 "CHIHUAHUA",
                                                 "DISTRITO FEDERAL",
                                                 "DURANGO",
                                                 "GUANAJUATO",
                                                 "GUERRERO",
                                                 "HIDALGO",
                                                 "JALISCO",
                                                 "MEXICO",
                                                 "MICHOACAN",
                                                 "MORELOS",
                                                 "NAYARIT",
                                                 "NUEVO LEON",
                                                 "OAXACA",
                                                 "PUEBLA",
                                                 "QUERETARO",
                                                 "QUINTANA ROO",
                                                 "SAN LUIS POTOSI",
                                                 "SINALOA",
                                                 "SONORA",
                                                 "TABASCO",
                                                 "TAMAULIPAS",
                                                 "TLAXCALA",
                                                 "VERACRUZ",
                                                 "YUCATAN",
                                                 "ZACATECAS",
                                                 "SERV. EXTERIOR MEXICANO",
                                                 "NACIDO EN EL EXTRANJERO"};

    public static String[] ENTIDAD_FEDERATIVA_VALOR = {"AS",
                                                       "BC",
                                                       "BS",
                                                       "CC",
                                                       "CL",
                                                       "CM",
                                                       "CS",
                                                       "CH",
                                                       "DF",
                                                       "DG",
                                                       "GT",
                                                       "GR",
                                                       "HG",
                                                       "JC",
                                                       "MC",
                                                       "MN",
                                                       "MS",
                                                       "NT",
                                                       "NL",
                                                       "OC",
                                                       "PL",
                                                       "QT",
                                                       "QR",
                                                       "SP",
                                                       "SL",
                                                       "SR",
                                                       "TC",
                                                       "TS",
                                                       "TL",
                                                       "VZ",
                                                       "YN",
                                                       "ZS",
                                                       "SM",
                                                       "NE"};


    private static char[] VOCALS = {'A', 'E', 'I', 'O', 'U'};

    private static Random random = new Random();

// -------------------------- STATIC METHODS --------------------------

    public static String generar( String primerApellido, String segundoApellido, String nombres, String sexo,
                                  String fechaDeNacimiento, String entidadDeNacimiento )
        throws Exception
    {
        // limpiar los datos
        primerApellido = trim( primerApellido );
        segundoApellido = trim( segundoApellido );
        nombres = trim( nombres );
        sexo = trim( sexo );
        entidadDeNacimiento = trim( entidadDeNacimiento );

        // validar que los datos estan correctors
        String error =
            validarDatos( primerApellido, segundoApellido, nombres, sexo, fechaDeNacimiento, entidadDeNacimiento );
        if ( error != null )
        {
            throw new Exception( error );
        }

        // generar Curp
        StringBuilder curp = new StringBuilder();
        curp.append( primerApellido.charAt( 0 ) );
        curp.append( primeraVocal( primerApellido.substring( 1 ) ) );
        curp.append( segundoApellido.charAt( 0 ) );
        curp.append( nombres.charAt( 0 ) );
        curp.append( fechaDeNacimiento.substring( 8, 10 ) );
        curp.append( fechaDeNacimiento.substring( 0, 2 ) );
        curp.append( fechaDeNacimiento.substring( 3, 5 ) );
        curp.append( sexo );
        curp.append( entidadDeNacimiento );
        curp.append( primeraLetra( primerApellido.substring( 1 ) ) );
        curp.append( primeraLetra( segundoApellido.substring( 1 ) ) );
        curp.append( primeraLetra( nombres.substring( 1 ) ) );
        curp.append( 0 );
        curp.append( random.nextInt( 10 ) );
        return curp.toString();
    }

    public static String trim( String s )
    {
        return StringUtils.trimToEmpty( s ).toUpperCase();
    }

    private static char primeraLetra( String s )
    {
        int i = StringUtils.indexOfAnyBut( s, VOCALS );
        if ( i >= 0 )
        {
            return s.charAt( i );
        }
        return 'X';
    }

    private static char primeraVocal( String s )
    {
        int i = StringUtils.indexOfAny( s, VOCALS );
        if ( i >= 0 )
        {
            return s.charAt( i );
        }
        return 'X';
    }

    private static String validarDatos( String primerApellido, String segundoApellido, String nombres, String sexo,
                                        String fechaDeNacimiento, String entidadDeNacimiento )
    {
        if ( "".equals( primerApellido ) )
        {
            return "Primer apellido es obligatorio";
        }
        if ( !StringUtils.isAlpha( primerApellido ) )
        {
            return "Primer apellido no valido, caracteres validos: A-Z (incluso Ñ)";
        }

        if ( "".equals( segundoApellido ) )
        {
            return "Segundo apellido es obligatorio";
        }
        if ( !StringUtils.isAlpha( segundoApellido ) )
        {
            return "Segundo apellido no valido, caracteres validos: A-Z (incluso Ñ)";
        }

        if ( "".equals( nombres ) )
        {
            return "Nombre(s) es obligatorio";
        }
        if ( !StringUtils.isAlphaSpace( nombres ) )
        {
            return "Nombre(s) no valido, caracteres validos: A-Z (incluso Ñ)";
        }

        if ( !"H".equals( sexo ) && !"M".equals( sexo ) )
        {
            return "Sexo no valido";
        }

        if ( "".equals( fechaDeNacimiento ) )
        {
            return "Fecha de nacimiento no valido";
        }

        if ( "".equals( entidadDeNacimiento ) )
        {
            return "Entidad de nacimiento es obligatorio";
        }
        if ( !Arrays.asList( ENTIDAD_FEDERATIVA_VALOR ).contains( entidadDeNacimiento ) )
        {
            return "Entidad de nacimiento necesita ser la abreciacion";
        }

        return null;
    }
}

Saludos

655
Hola Dar1us

a) Bien

b) Bien

c) Tu respuesta en la teoría. En la práctica que tu servidor local emule con exactitud un servidor remoto es difícil porque intervienen una cantidad inmensa de variables y opciones de configuración a tener en cuenta. Por tanto la mejor forma para trabajar con condiciones reales es trabajar con un servidor remoto.

d) Bien

e) No es así. Existen servidores gratuitos con los que podemos trabajar sin tener que contratar un servicio de hosting. Si se tiene una buena conexión a internet no hay problemas con trabajar en remoto (de hecho es quizás lo más recomendable para aprender a trabajar en condiciones reales).

Saludos

656
Hola todo bien, supongo que existen borradores o versiones de prueba pero que en cierta medida esa información no está a primera vista para no confundir a los usuarios

Saludos

657
Hola Dar1us

a) Sí tiene sentido crear páginas web estáticas mientras quieras hacerlo. Igual que tiene sentido ir en bicicleta (aunque haya otras formas de desplazarse)

b) Bien

c) La respuesta es verdadero: muchos sitios web siguen siendo estáticos. Aunque cada vez hay menos en proporción a como era antiguamente, siguen siendo muchos y seguirán siendo muchos.

d) Bien


Saludos

658
Hola Dar1us

a) bien, b) bien, c) bien, d) bien

PHP es un lenguaje que se usa para generar documentos HTML con un procesado previo que permite utilizar toda la potencia de la programación. HTML no es un lenguaje de programación tal y como puede ser PHP u otros.

Saludos

659
Hola en principio con la declaración de arrays mientras te funcione no habría problema sin embargo sí te recomendaría que uses la forma comentada que parece que es compatible con todas las versiones de php. El motivo: que en algún momento es posible que quieras trasladar el código de servidor y podría fallarte en uno de esos traslados.

Saludos

660
Hola Hector Hugo si no entiendes alguna explicación en el curso abre un hilo con una consulta indicando la entrega del curso y qué parte concretamente no entiendes, intentaremos aclarártela entre todos

Saludos

Páginas: 1 ... 28 29 30 31 32 [33] 34 35 36 37 38 ... 93

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".