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 ... 74 75 76 77 78 [79] 80 81 82 83 84 ... 93
1561
Hola, respecto a lo que has planteado, 2. float pedirduracion () no sería correcto porque aquí estás indicando que el método devuelve un valor float, y este método no estaría concebido para devolver un valor, sino para ejecutar ciertos procesos.

Tampoco sería correcto 4. String floatañadircancion () por el mismo motivo, el método no tiene que devolver un resultado, sino realizar ciertos procesos.

Para 1. lo recomendable es que el nombre del método lleve la palabra obtener ó get en lugar de expresar.

Las soluciones que podrían ser correctas son:


float obtenerDuracionCancionMinutos (int numeroDeCancion) { } ó getDurancionCancionMinutos(int numeroDeCancion) { }  (Es tipo función).

void pedirDuraciones() { } (Es tipo procedimiento)

float obtenerDuracionDiscoMinutos() { } ó getDuracionDiscoMinutos { }(Es tipo función)

void añadirCancion (String cancion, float duracion) { }  (Es tipo procedimiento)

Saludos.

1562
Hola, trato de ir comentando...

La importación de paquetes hace necesario cargar más librerías para el programa y cuantas más librerías se carguen más lento o peor rendimiento tendrás, por eso es preferible cargar sólo lo que se necesita. Se permite cargar algunas librerías al completo, por ejemplo puedes escribir import java.io.*; pero no puedes escribir import java.* ¿Por qué? Normas de Java

¿Para qué meten una variable FileReader? No se sabe, aparentemente no se usa para nada, con lo cual o realmente sobra o está ahí porque en el futuro se piensa que podría servir para algo.

La palabra clave this puede tener dos usos:

Primer uso: explicado en https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=592:ejemplo-de-codigo-java-basico-clases-con-campos-constructor-y-metodos-la-palabra-clave-this-cu00652b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Segundo uso (el más frecuente): https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=620:la-palabra-clave-this-en-java-contenido-null-por-defecto-de-un-objeto-ejemplo-ejercicio-resuelto-cu00654b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Respecto al uso de throws, algunas operaciones en Java se consideran "delicadas" en el sentido de que es posible que salte un error cuando se ejecuten. Por ejemplo al acceder a un archivo (por ejemplo si el archivo está corrupto). En estos casos es recomendable indicar que si se produce un error se lance una excepción que pueda ser manejada por el sistema, una forma de indicar esto es con throws. En algunos casos el manejo de excepciones no es opcional, sino obligatorio (obligación impuesta por Java).

Respecto a write y close, son métodos del objeto. El objeto es un objeto de un tipo del api de Java y por tanto sus constructores y métodos sí están declarados (en el api de Java). Sobre el api de Java puedes leer esta entrega y siguientes: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=551:que-es-y-para-que-sirve-el-api-de-java-librerias-de-biblioteca-estandar-jdbc-javafx-rmi-cu00645b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Saludos.

1563
Tener en cuenta que para poder manipular archivos de Excel desde Visual Basic 6 hay que activar la librería Excel de Visual Basic 6. Esto se hace desde el menú Proyecto -- > Referencias -- > buscar "Microsoft Excel x Object Library" donde la x es un número, por ejemplo 12.0.

La seleccinamos y pulsamos aceptar (hecho esto ya podemos ejecutar el código.)


1564
He probado este código y a mí me funciona correctamente para buscar un texto dentro de un archivo excel (el texto se escribe en un textBox denominado Text1; además tenemos un botón denominado cmdSearch y un archivo excel en la ruta "C:\Users\Asus\Desktop\prueba.xls"). Ahora mismo el resultado se muestra en un msgbox, pero puedes hacer que se muestre de otras formas...

Código: [Seleccionar]
Option Explicit
Dim xlApp As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim strResults, strSearch As String

Private Sub cmdSearch_Click()
Dim rngfnd As Range
Dim txtSearch As String
txtSearch = Text1

Set xlApp = New Excel.Application
Set wb = xlApp.Workbooks.Open("C:\Users\Asus\Desktop\prueba.xls")
Set ws = wb.Worksheets("Hoja1") 'Nombre de la hoja donde vamos a buscar

Set rngfnd = ws.UsedRange.Find(What:=txtSearch, After:=ws.UsedRange.Cells(ws.UsedRange.Cells.Count), LookIn:= _
        xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
        xlNext, MatchCase:=False, SearchFormat:=False)
If Not rngfnd Is Nothing Then
   ' Mostrar el resultado
   MsgBox "Texto encontrado en la celda: " & rngfnd.Address
Else
   MsgBox "Texto no encontrado en el archivo Excel"
End If

End Sub

1565
La recursión es algo relativamente complejo de entender, sobre todo para personas que no están habituadas a trabajar con ella. Aquí tienes un código de ejemplo sobre cómo recorrer recursivamente un array de una dimensión (un arreglo o matriz de una dimensión). Faltaría completar el recorrido de una matriz de dos dimensiones, la idea sería seguir el mismo patrón pero aplicarlo a dos dimensiones. Saludos.

Código: [Seleccionar]
import java.util.Arrays;
/*Ejemplo aprenderaprogramar.com*/
public class ejemplo {
    public static void main (String[] Args) {

        int[][]  matriz= new int[3][3];
        matriz[0][0] = 1; matriz[0][1] = 2; matriz[0][2] = 3;
        matriz[1][0] = 2; matriz[1][1] = 1; matriz[1][2] = 4;
        matriz[2][0] = 2; matriz[2][1] = 1; matriz[2][2] = 4;

        System.out.println ("Recorrido iterativo\n");
        for (int i=0; i<matriz.length; i++) {
            for (int j=0; j<matriz[0].length; j++){
                System.out.print ("    " + matriz[i][j]);   
            }
            System.out.println ("");
        }
        System.out.println ("\n\n");

        System.out.println ("Recorrido recursivo de un array simple");
        int[] dataarray = new int [7];
        dataarray[0] = 1; dataarray[1] = 5; dataarray[2] = 7; dataarray[3] = 5; dataarray[4] = 9; dataarray[5] = 5; dataarray[6] = 1;
        recorridoRecursivo(dataarray, 0, 5);
        System.out.println ("");
        recorridoRecursivo(dataarray, 0, 1);
        System.out.println ("");
        recorridoRecursivo(dataarray, 0, 7);

    }

    public static void recorridoRecursivo (int[][] matrix) {
        // FALTA EL CÓDIGO
    }

    public static void recorridoRecursivo (int[] matrix, int contador, int buscado) {

        if (matrix[matrix.length-1] == buscado) { contador = contador + 1; }

        if (matrix.length == 1) {
            System.out.println ("El numero de apariciones de " + buscado + " es: " + contador);
            System.out.print ("" + matrix[0]);

        }
        else {int[] tmp = Arrays.copyOf (matrix, (matrix.length-1));
            recorridoRecursivo(tmp, contador, buscado);
            System.out.print ("-->" + matrix[matrix.length-1]);
        }
    }
}

1566
Hola, no entiendo bien qué quiere decir: "Encontró el valor en la celda A3, el Text1 sea A1, Text2 sea A2, Text3 sea A3, etc. y al cambiar al siguiente valor que encontró los textBox también cambien."

¿El código lo tienes que crear con VBA o tiene que ser una aplicación independiente? ¿Tienes que poder elegir el fichero o siempre vas a trabajar con un mismo fichero?

1567
Puede hacerse usando replaceAll con una expresión regular:

Código: [Seleccionar]
public class ejemplo {
    public static void main (String[] Args) {
        String cadena = "ffeeddaa";
        System.out.println ("Original: " + cadena);
        cadena = cadena.replaceAll("(.)\\1", "$1");
        System.out.println ("Resultado: " + cadena);
    }
}


1568
Tienes que crear tres clases diferentes, no una sola clase.

1569
Si lo que quieres es recuperar la información contenida en los atributos de la clase, por ejemplo qué velocidad tiene el coche o qué gasolina tiene el coche, necesitas acceder a ella.

Si los atributos están declarados como públicos (no recomendado) se puede acceder con la sintaxis nombreDelObjeto.atributo, pero en general se recomienda que los atributos se declaren como private y se acceda a ellos con métodos get como en el ejemplo de código que aparece aquí: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=426:ique-es-una-clase-java-concepto-atributos-propiedades-o-campos-constructor-y-metodos-cu00623b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Por otro lado, no está bien concebido tener todas las clases unificadas. Es más correcto definir tres clases:

Clase vehiculo:

Código: [Seleccionar]
class vehiculo { //SUPERCLASE

/**
*VAMOS A VER EN ESTE EJERCICIO COMO FUNCIONA LA HERENCIA DE LAS CLASES
*UNA SUBCLASE VA A HEREDAR DE SU SUPERCLASE
*Y AÑADIRA UN METODO NUEVO Y VARIABLES NUEVAS
*/

public int velocidad;//ATRIBUTOS
public int ruedas;    //PUBLIC MUY IMPORTANTE SI NO NO PODRIA HEREDAR LA SIGUIENTE CLASE

//DEFINIMOS UN METODO

public void parar(){ //metodo VOID NO DEVUELVE RESULTADO LE PONEMOS PUBLIC TB

velocidad=0;

}

public void acelerar (int kms){

velocidad+=kms;  //a la variable velocidad se le suman los kilometros
}

}

Clase coche:

Código: [Seleccionar]
//DEFINIMOS LA SUBCLASE
class coche extends vehiculo{ //EXTENDS LO PONEMOS PARA QUE HEREDE TODO DE VEHICULO

    public int ruedas=4; // VARIABLE AÑADIDA, TIENE 4 RUEDAS
    public int gasolina;

    public void repostar(int ltrs){ //AÑADIMOS UN NUEVO METODO QUE ES REPOSTAR
        gasolina+=ltrs; //SUMAMOS LA GASOLINA Y LOS LITROS
    }
}

Clase con el método main (es la que ejecutamos):

Código: [Seleccionar]
public class manejaCoche
{
    public static void main(String[] args){ //INICIO APLICACION
coche coche1=new coche();//CREAMOS UN OBJETO COCHE
coche1.acelerar(80); //LLAMAMOS AL METODO HEREDADO
coche1.repostar(12);
System.out.println("La velocidad actual es "+coche1.velocidad);
System.out.println("La gasolina actual es " + coche1.gasolina);
}
}


1570
Ten en cuenta que las indicaciones son orientaciones, otro programador podría plantearlo de otra manera  :D


1571
Tal y como lo planteas, JOptionPane.showInputDialog te proporciona una cadena de texto (String). Por tanto el tipo de variable que es se conoce (es String).

Entonces lo que te estás preguntando es si un String contiene un número o no (se supone que para saber si puedes convertirlo a un formato numérico como entero o decimal). Esto parece una pregunta sencilla pero no lo es tanto. De hecho hay muchas formas de resolverlo. La forma que encuentro quizás más limpia es usar expresiones regulares. En concreto este método te dice si un String contiene un número:

    public static boolean isNumeric(String str) {
        return (str.matches("[+-]?\\d*(\\.\\d+)?") && str.equals("")==false);
    }

Aquí un ejemplo de cómo sería con código ejecutable:

Código: [Seleccionar]
import javax.swing.JOptionPane;

public class comprobarSiEsNumero {

    public static void main (String[] Args) {
        String entradaUsuario = "";
        while (isNumeric(entradaUsuario)==false){
            entradaUsuario = JOptionPane.showInputDialog ( "Asignele un valor numerico a A (usar . como separador decimal):" );

            if (isNumeric(entradaUsuario) == true) {
                System.out.println ("Entrada OK, introdujo el número " + entradaUsuario); }
            else {
                System.out.println ("Entrada no válida, no introdujo un número"); }
        }
    }

    public static boolean isNumeric(String str) {
        return (str.matches("[+-]?\\d*(\\.\\d+)?") && str.equals("")==false);
    }

}

1572
Bastante mejor, se ciñe mejor a la idea de lo que es la orientación a objetos. Si quieres "redondearlo" te diría que hicieras lo siguiente (para empezar):

Define una clase cuyo cometido sea mostrar por pantalla un mensaje informativo, disponiendo de un método que recibe como parámetro un String siendo este parámetro el mensaje informativo a mostrar. Usa esta clase para mostrar mensajes informativos. Las clases deben tener cometidos "genéricos", no es práctico crear una clase únicamente para mostrar un mensaje de bienvenida.

Usa un objeto de esa clase dentro del método main tanto para mostrar el mensaje de bienvenida como para mostrar los mensajes de resultados, advertencias, etc.

De este modo la clase MensajeBienvenida dejaría de existir, como te digo no es demasiado lógico tener una clase sólo para eso.


1573
Aquí tienes un ejemplo de cómo se pueden agregar los botones:

Código: [Seleccionar]
import javax.swing.JOptionPane;
public class SegundoGrado
{
    public static void main( String[] args ) {
        String primerNumero, segundoNumero, tercerNumero, error;
        double a1, b1, c1, ecuacion1=0, ecuacion3=0, ecuacion2=0, f1=0, g1=0, h1=0, suma, op=0;
        int opcionUsuario = 0;
        suma=0;
        op=0;

        JOptionPane.showMessageDialog(null, "Bienvenido, use esta aplicacion para resolver ecuaciones\nde segundo grado, solo necesita especificar los valores de:\n A B y C\n**Hecho por Miguel**" );
       
        do{
            primerNumero = JOptionPane.showInputDialog ( "Asigne el valor de A:" );//Se define el valor de a1
            a1 = Integer.parseInt( primerNumero );//Transforma el string primer numero

            segundoNumero = JOptionPane.showInputDialog ( "Asigne el valor de B:" );//Define el valor de b1
            b1 = Integer.parseInt( segundoNumero );//Transforma el string segundoNumero

            tercerNumero = JOptionPane.showInputDialog ( "Asigne el valor de C:" );//Define el valor de c1
            c1 = Integer.parseInt( tercerNumero );//Lo mismo con c1

            ecuacion1 = ( 4 * a1 * c1 );
            ecuacion3 = ( ( b1 * b1 ) - ( ecuacion1 ) );
            ecuacion2 = ( ( 2 ) * ( a1 ) );
            if( ecuacion2==0 )
            {

                error = JOptionPane.showInputDialog( "\nNo se puede dividir entre 0, hacer otra ecuacion? 1-Si 2-No:" );
                op = Integer.parseInt( error );
            }
            else{
                if( ecuacion3<0) {
                    error = JOptionPane.showInputDialog( "\nPor los momentos no se puede resolver raices con numeros negativos., desea hacer otra ecuacion? 1-Si 2-No:" );
                    op = Integer.parseInt( error );
                }
                else{
                    h1 = Math.sqrt( ecuacion3 );
                    f1 = ( ( ( -b1 ) + ( h1 ) ) / ecuacion2 );
                    g1 = ( ( ( -b1 ) - ( h1 ) ) / ecuacion2 );
                    JOptionPane.showMessageDialog(null,"Resultado 1:"+f1,"resultado",JOptionPane.INFORMATION_MESSAGE);
                    JOptionPane.showMessageDialog(null,"Resultado 2:"+g1,"resultado",JOptionPane.INFORMATION_MESSAGE);
                    //error = JOptionPane.showInputDialog( "\nDesea hacer otra? 1-Si 2-No:" );
                    //op = Integer.parseInt( error );
                    opcionUsuario = eleccionUsuario();
                    if (opcionUsuario ==0) {op=1;} else {System.exit(0);}
                }
            }
        }
        while(op==1);

    }
   
    public static int eleccionUsuario() {
        Object[] options = { "Continuar", "Salir" };
    return JOptionPane.showOptionDialog(null, "¿Desea continuar o salir?", "Elección de opción", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);
       
    }
   
}

Para aprender a identificar clases te recomiendo que veas lo que se indica en este curso: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Y en particular lo que se dice aquí: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=621:clase-con-el-metodo-main-clase-principal-iniciadora-o-programa-principal-en-java-cu00655b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

1574
Hola, el código no lo veo mal. El algoritmo está bien planteado y el programa funciona. Si quieres que te diga un aspecto que me parece mejorable, te indicaría que lo que peor veo es que no haces uso de la orientación a objetos, es decir, no trabajas con clases sino con una única clase que contiene todo el codigo del programa.

Para que el programa termine una vez que el usuario elija que no quiera hacer otra operación solo te faltaría añadir la instrucción System.exit(0); que da lugar a la terminación del programa, es decir:

while(op==1);
        System.exit(0);

De este modo cuando no elige 1 se ejecuta la salida del programa.

Los botones los puedes lograr con:

  JOptionPane.showConfirmDialog(null, "Continuar", "Salir", JOptionPane.YES_NO_OPTION);

Saludos.

1575
Usando el método lastIndexOf puedes determinar la posición del último caracter deseado dentro de una cadena, en este caso si buscamos un espacio:

Código: [Seleccionar]
public class frases {

    public static void main (String[] Args) {
        String frase = "serdr omu lis";
        int posicionUltimoEspacio = 0;
        posicionUltimoEspacio = frase.lastIndexOf (" ");
        System.out.println ("La posición del primer caracter de la última palabra de la cadena es: " + (posicionUltimoEspacio +1));
    }
}

Saludos.

1576
Aprender a programar desde cero / Re:Necesidad de getters java
« en: 06 de Abril 2014, 10:12 »
No, persona1.nombre no te devuelve el atributo nombre a no ser que declares el atributo como public en vez de como private. Los atributos en java normalmente se declaran como private para evitar que se pueda tener acceso a ellos usando la notación que tú indicas. Al declarar el atributo como private, se puede evitar dar acceso al atributo excepto si el programador así lo quiere introduciendo un método get. Pero es posible que no quiera darle acceso, en ese caso no hay método get y no se puede acceder al atributo.

Podrías preguntarte: ¿por qué no declarar los atributos como públicos y así me ahorro tener que introducir métodos get? Tener acceso público a los atributos se considera una mala práctica de programación por introducir posibilidades de manipulación y efectos colaterales fuera del control "certero" del programa, por eso no se recomienda (y no se hace excepto que se sepa muy bien lo que se está haciendo). Saludos.

1577
Aprender a programar desde cero / Re:Casting java
« en: 06 de Abril 2014, 10:07 »
Hola, en primer lugar el casting sólo será posible si el objeto profesor contiene un objeto profesorinterino, por ejemplo:

profesor p1 = new profesorinterino();

Si profesor no contiene un profesorinterino te saltará un error al tratar de hacer casting.

Por otro lado, si haces casting todos los atributos que no tengan valor tomarán el valor por defecto. En este caso, si el tiempo es un tipo int tomará valor cero. Si fuera un String tomaría valor cadena vacía: "". Si fuera boolean tomaría valor false. Si fuera un objeto tomaría valor null, etc. etc.

1578
Hola, efectivamente el curso de Java avanzado está en desarrollo. Ahora mismo no tenemos fecha programada de publicación de entregas ni de terminación. Sobre sugerencias de ejercicios y continuación, es difícil dado que existen gran cantidad de opciones, desde cursos formales hasta webs. Una referencia son los materiales formativos del sitio oficial de java, de los que puedes encontrar más información aquí: http://docs.oracle.com/javase/tutorial/tutorialLearningPaths.html

Saludos.

1579
Hola, en primer lugar gracias por tu reconocimiento a la calidad del curso y al trabajo de las personas que lo hacemos posible. Publicar y mantener contenidos de calidad es algo que nos supone un gran esfuerzo y agradecemos todas las palabras de reconocimiento, críticas y sugerencias que nos ayuden a mejorar y continuar. Tomamos nota de tu sugerencia para intentar mejorar ese apartado. Sobre la certificación vía examen, no es algo que ofrezcamos. Nosotros únicamente ofrecemos los cursos tutorizados on-line donde existe un seguimiento personalizado por parte de un tutor, con ejercicios y actividades específicas planteadas por el tutor (la información se encuentra en https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=64&Itemid=87)

Saludos.

1580
Aprender a programar desde cero / Re:Ayuda con if else if!!
« en: 02 de Abril 2014, 10:48 »
Básicamente está correcto, pero te hago algunas observaciones:

1) Los nombres de los métodos deben responder a lo que hace el método. Si usas un nombre como setAdmitido se supone que el método va a ser para establecer el valor de Admitido (pero en este caso no es así, simplemente queremos probar a ejecutar un código. Por tanto un nombre de método más correcto sería mostrarMensajePorPantalla o simplemente pruebaIfSencillo)

2) Para incluir el DesplazamientoY el método tiene que recibir dos parámetros: el desplazamientoX y el desplazamientoY. Te adjunto el código a continuación, saludos


Código:

Código: [Seleccionar]
public class Variables {

    boolean Admitido;
    int DesplazamientoX;
    int DesplazamientoY;

    public Variables(){
        Admitido=true;
        DesplazamientoX= 0;
        DesplazamientoY= 0;
    }
   

    public void pruebaIfSencillo (boolean admitido){
         if ( admitido == true) { System.out.println ("Se ha admitido el valor"); }
    }
   
    public void pruebaIfElseSencillo (boolean admitido){
       
        //if else sencillo
        if ( admitido == true) {
            System.out.println ("Se ha admitido el valor");
        } else {System.out.println ("No se ha admitido el valor");}
    }
       
    public void pruebaIfConElseIf (int DesplazamientoX, int DesplazamientoY){
        //if con else if y clausula final else
       if (DesplazamientoX == 0 && DesplazamientoY == 1) {
            System.out.println ("Se procede a bajar el personaje 1 posición");
        }
         else if (DesplazamientoX == 1 && DesplazamientoY == 0) {
            System.out.println ("Se procede a mover el personaje 1 posición a la derecha"); }
        else if (DesplazamientoX == -1 && DesplazamientoY == 0) {
            System.out.println ("Se procede a mover el personaje 1 posición a la izquierda");
        }
         else {
            System.out.println ("Los valores no son válidos");
        }
    }
}

También puedes plantearlo sin necesidad de que los métodos reciban parámetros, sino considerando que se usan los atributos de la clase. En ese caso el código sería:

Código: [Seleccionar]
public class Variables {

    boolean admitido;
    int DesplazamientoX;
    int DesplazamientoY;

    public Variables(){
        admitido=true;
        DesplazamientoX= 0;
        DesplazamientoY= 0;
    }
   

    public void pruebaIfSencillo (){
         if ( admitido == true) { System.out.println ("Se ha admitido el valor"); }
    }
   
    public void pruebaIfElseSencillo (){
       
        //if else sencillo
        if ( admitido == true) {
            System.out.println ("Se ha admitido el valor");
        } else {System.out.println ("No se ha admitido el valor");}
    }
       
    public void pruebaIfConElseIf (){
        //if con else if y clausula final else
       if (DesplazamientoX == 0 && DesplazamientoY == 1) {
            System.out.println ("Se procede a bajar el personaje 1 posición");
        }
         else if (DesplazamientoX == 1 && DesplazamientoY == 0) {
            System.out.println ("Se procede a mover el personaje 1 posición a la derecha"); }
        else if (DesplazamientoX == -1 && DesplazamientoY == 0) {
            System.out.println ("Se procede a mover el personaje 1 posición a la izquierda");
        }
         else {
            System.out.println ("Los valores no son válidos");
        }
    }
}

En este último código sería adecuado añadir los métodos setAdmitido, setDesplazamientoX y setDesplazamientoY para poder establecer valores para esos atributos.

Páginas: 1 ... 74 75 76 77 78 [79] 80 81 82 83 84 ... 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".