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

Páginas: 1 [2] 3 4 5 6 7
21
Hola a todos !! Dejo a continuación el código Java respecto al ejercicio propuesto en la clase CU00914C del curso avanzado de programación Java.

Antes de saludar quiero hacer dos aclaraciones sobre el texto:

1) Donde dice "delete(int indiceIni,int indiceFin)" --> "Borra la cadena de caracteres incluidos entre los dos indices indicados en los argumentos".
El rango indicado es cerrado-abierto. Borra desde la posicición indicada en indiceIni (inclusive) hasta el indiceFin(exclusive)

2) Hay un error de tipeo en "subString(int indiceIni,int indiceFin)" --> "Devuelve una cadena comprendida entre los dos índices". En lugar de "subString", tiene que decir "substring". Todo en minúsculas.

Desde ya muchas gracias por la atención. Un saludo, Luis

EJERCICIO

Realizar un programa que realice lo siguiente:

a) Crear un StringBuilder con la cadena "Hola Caracola" y mostrarla por consola.

b) Mostrar por consola su capacidad y longitud.

c) Partiendo de la cadena anterior y usando los métodos de StringBuilder modificar la cadena para que pase a ser "Hay Caracolas" y mostrarla por consola.

d) Partiendo de la cadena anterior y usando los métodos de StringBuilder modificar la cadena para que pase a ser "Hay 5000 Caracolas" y mostrarla por consola. El número entero 5000 debe estar almacenado en un int inicialmente.

e) Partiendo de la cadena anterior y usando los métodos de StringBuilder modificar la cadena para que pase a ser "Hay 5000 Caracolas en el mar" y mostrarla por consola.

f) Almacenar en un String los últimos 4 carácteres del StringBuilder resultante y mostrar ese String por consola.

g) Mostrar por  consola  la capacidad y longitud del StringBuilder final.

h) Realizar el mismo ejercicio con la clase StringBuffer.

Citar
Ejemplo de ejecución:
El StringBuilder es : Hola Caracola
Capacidad inicial = 29
Longitud inicial = 13
Hay Caracolas
Hay 5000 Caracolas
Hay 5000 Caracolas en el mar
 mar
Capacidad final = 29
Longitud final = 28

Código: [Seleccionar]
/* Curso java avanzado aprenderaprogramar.com*/
public class EjercicioStringBuilder
{public static void main(String[] args) { 
        StringBuilder sbuilder = new StringBuilder("Hola Caracola");
        int i = 5000;
        String cincok = "";
        System.out.println("El StringBuilder es : "+sbuilder);
        System.out.println("Capacidad inicial = "+sbuilder.capacity());
        System.out.println("Longitud inicial = "+sbuilder.length());
        sbuilder.delete(0,4);
        sbuilder.insert(0,"Hay");
        sbuilder.append("s");
        System.out.println(sbuilder);
        cincok=" "+Integer.toString(i);
        sbuilder.insert(3,cincok);
        System.out.println(sbuilder);
        sbuilder.append(" en el mar");
        System.out.println(sbuilder);
        System.out.println(sbuilder.substring(sbuilder.length()-4,sbuilder.length()));
        System.out.println("Capacidad final = "+sbuilder.capacity());
        System.out.println("Longitud final = "+sbuilder.length());

    }
}

Código: [Seleccionar]
/* Curso java avanzado aprenderaprogramar.com*/
public class EjercicioStringBuffer
{public static void main(String[] args) { 
        StringBuffer sbuffer = new StringBuffer("Hola Caracola");
        int i = 5000;
        String cincok = "";
        System.out.println("El StringBuilder es : "+sbuffer);
        System.out.println("Capacidad inicial = "+sbuffer.capacity());
        System.out.println("Longitud inicial = "+sbuffer.length());
        sbuffer.delete(0,4);
        sbuffer.insert(0,"Hay");
        sbuffer.append("s");
        System.out.println(sbuffer);
        cincok=" "+Integer.toString(i);
        sbuffer.insert(3,cincok);
        System.out.println(sbuffer);
        sbuffer.append(" en el mar");
        System.out.println(sbuffer);
        System.out.println(sbuffer.substring(sbuffer.length()-4,sbuffer.length()));
        System.out.println("Capacidad final = "+sbuffer.capacity());
        System.out.println("Longitud final = "+sbuffer.length());

    }
}

22
Hola a todos !! Dejo a continuación el código del ejercicio propuesto CU00913C del tutorial gratuito de programación Java avanzada ofrecido en aprenderaprogramar. Desde ya, muchas gracias por la atención. Un saludo,

Luis

EJERCICIO

Utilizando Comparable y compareTo resuelve el siguiente problema donde debemos partir de una clase Persona con atributos nombre, edad y altura. Queremos ordenar por edad y por altura a las siguientes personas:                   

Nombre           Altura          Edad
Mario                 187               22
Pepe                 173               52
Manuel              158               27
David                164               25
Alberto              184              80

Debemos comparar las personas y ordenarlas por altura primero (de mayor a menor) y por edad (de menor a mayor) después. Por pantalla debe mostrarse la lista de personas sin ordenar, ordenada por altura y ordenada por edad. Ejemplo de ejecución:
Citar
Personas sin ordenar

1. Mario - Altura: 187 - Edad: 22
2. Pepe - Altura: 173 - Edad: 52
3. Manuel - Altura: 158 - Edad: 27
4. David - Altura: 164 - Edad: 25
5. Alberto - Altura: 184 - Edad: 80

 

Personas ordenadas por altura

1. Mario - Altura: 187 - Edad: 22
2. Alberto - Altura: 184 - Edad: 80
3. Pepe - Altura: 173 - Edad: 52
4. David - Altura: 164 - Edad: 25
5. Manuel - Altura: 158 - Edad: 27

 

Personas ordenadas por edad

1. Mario - Altura: 187 - Edad: 22
2. David - Altura: 164 - Edad: 25
3. Manuel - Altura: 158 - Edad: 27
4. Pepe - Altura: 173 - Edad: 52
5. Alberto - Altura: 184 - Edad: 80


Solución propuesta:


Clase Persona

Código: [Seleccionar]
/* Ejemplo Clase e Interfaz Cloneable aprenderaprogramar.com */
public class Persona implements Comparable<Persona>, Cloneable{
   public String nombre;
   public int altura, edad;
      public Persona(String nombre, int altura, int edad) {
          this.nombre = nombre;
          this.altura = altura;
          this.edad = edad;
      }
      public Persona clone()   {
          Persona clon = new Persona(this.nombre, this.altura, this.edad);
          return clon;
        }
      public int compareTo(Persona o) {
          int resultado=0;
          int resultado1=0;
            if (this.edad<o.edad) { resultado1 = -1;}
                else
                    if (this.edad>o.edad) { resultado1 = 1;}
                         else {
                             resultado1 = 0;
            }
          int resultado2=0;
            if (this.altura<o.altura) { resultado2 = -1;}
                else
                    if (this.altura>o.altura) { resultado2 = 1;}
                         else {
                               resultado2 = 0;
            }
          resultado = resultado1+resultado2; 
          return resultado ;
      }
}


Clase Programa - (main)

Código: [Seleccionar]
/* Ejemplo Clase e Interface Comparable aprenderaprogramar.com */
public class Programa {
    public static void main(String arg[]) {
         Persona p1 = new Persona("Mario",187,22);
         Persona p2 = new Persona("Pepe",173,52);   
         Persona p3 = new Persona("Manuel",158,27);
         Persona p4 = new Persona("David",164,25);   
         Persona p5 = new Persona("Alberto",184,80);
         Persona pAux = new Persona("",0,0);
         Persona px = new Persona("",0,0);
         // orden cargado
         System.out.println("Personas sin ordenar");
         System.out.println("1. "+p1.nombre+" - Altura: "+p1.altura+" - Edad: "+p1.edad);
         System.out.println("2. "+p2.nombre+" - Altura: "+p2.altura+" - Edad: "+p2.edad);
         System.out.println("3. "+p3.nombre+" - Altura: "+p3.altura+" - Edad: "+p3.edad);
         System.out.println("4. "+p4.nombre+" - Altura: "+p4.altura+" - Edad: "+p4.edad);
         System.out.println("5. "+p5.nombre+" - Altura: "+p5.altura+" - Edad: "+p5.edad);         
         System.out.println("");
         
         Persona cp1 = p1.clone();
         Persona cp2 = p2.clone();
         Persona cp3 = p3.clone();
         Persona cp4 = p4.clone();
         Persona cp5 = p5.clone();
         
         cp1.edad=0;
         cp2.edad=0;
         cp3.edad=0;
         cp4.edad=0;
         cp5.edad=0;

         System.out.println("Personas ordenadas por altura");
         if (cp1.compareTo(cp2)<0){pAux=cp2; px=p2; cp2=cp1; p2=p1; cp1=pAux; p1=px;}
         if (cp1.compareTo(cp3)<0){pAux=cp3; px=p3; cp3=cp1; p3=p1; cp1=pAux; p1=px;}
         if (cp1.compareTo(cp4)<0){pAux=cp4; px=p4; cp4=cp1; p4=p1; cp1=pAux; p1=px;}
         if (cp1.compareTo(cp5)<0){pAux=cp5; px=p5; cp5=cp1; p5=p1; cp1=pAux; p1=px;}
         
         if (cp2.compareTo(cp3)<0){pAux=cp3; px=p3; cp3=cp2; p3=p2; cp2=pAux; p2=px;}
         if (cp2.compareTo(cp4)<0){pAux=cp4; px=p4; cp4=cp2; p4=p2; cp2=pAux; p2=px;}
         if (cp2.compareTo(cp5)<0){pAux=cp5; px=p5; cp5=cp2; p5=p2; cp2=pAux; p2=px;}

         if (cp3.compareTo(cp4)<0){pAux=cp4; px=p4; cp4=cp3; p4=p3; cp3=pAux; p3=px;}
         if (cp3.compareTo(cp5)<0){pAux=cp5; px=p5; cp5=cp3; p5=p3; cp3=pAux; p3=px;}

         if (cp4.compareTo(cp5)<0){pAux=cp5; px=p5; cp5=cp4; p5=p4; cp4=pAux; p4=px;}

         System.out.println("1. "+p1.nombre+" - Altura: "+p1.altura+" - Edad: "+p1.edad);
         System.out.println("2. "+p2.nombre+" - Altura: "+p2.altura+" - Edad: "+p2.edad);
         System.out.println("3. "+p3.nombre+" - Altura: "+p3.altura+" - Edad: "+p3.edad);
         System.out.println("4. "+p4.nombre+" - Altura: "+p4.altura+" - Edad: "+p4.edad);
         System.out.println("5. "+p5.nombre+" - Altura: "+p5.altura+" - Edad: "+p5.edad);
         System.out.println("");
         
         cp1 = p1.clone();
         cp2 = p2.clone();
         cp3 = p3.clone();
         cp4 = p4.clone();
         cp5 = p5.clone();
         cp1.altura=0;
         cp2.altura=0;
         cp3.altura=0;
         cp4.altura=0;
         cp5.altura=0;
         System.out.println("Personas ordenadas por edad");
         if (cp1.compareTo(cp2)>0){pAux=cp2; px=p2; cp2=cp1; p2=p1; cp1=pAux; p1=px;}
         if (cp1.compareTo(cp3)>0){pAux=cp3; px=p3; cp3=cp1; p3=p1; cp1=pAux; p1=px;}
         if (cp1.compareTo(cp4)>0){pAux=cp4; px=p4; cp4=cp1; p4=p1; cp1=pAux; p1=px;}
         if (cp1.compareTo(cp5)>0){pAux=cp5; px=p5; cp5=cp1; p5=p1; cp1=pAux; p1=px;}
         
         if (cp2.compareTo(cp3)>0){pAux=cp3; px=p3; cp3=cp2; p3=p2; cp2=pAux; p2=px;}
         if (cp2.compareTo(cp4)>0){pAux=cp4; px=p4; cp4=cp2; p4=p2; cp2=pAux; p2=px;}
         if (cp2.compareTo(cp5)>0){pAux=cp5; px=p5; cp5=cp2; p5=p2; cp2=pAux; p2=px;}

         if (cp3.compareTo(cp4)>0){pAux=cp4; px=p4; cp4=cp3; p4=p3; cp3=pAux; p3=px;}
         if (cp3.compareTo(cp5)>0){pAux=cp5; px=p5; cp5=cp3; p5=p3; cp3=pAux; p3=px;}

         if (cp4.compareTo(cp5)>0){pAux=cp5; px=p5; cp5=cp4; p5=p4; cp4=pAux; p4=px;}

         System.out.println("1. "+p1.nombre+" - Altura: "+p1.altura+" - Edad: "+p1.edad);
         System.out.println("2. "+p2.nombre+" - Altura: "+p2.altura+" - Edad: "+p2.edad);
         System.out.println("3. "+p3.nombre+" - Altura: "+p3.altura+" - Edad: "+p3.edad);
         System.out.println("4. "+p4.nombre+" - Altura: "+p4.altura+" - Edad: "+p4.edad);
         System.out.println("5. "+p5.nombre+" - Altura: "+p5.altura+" - Edad: "+p5.edad);
         System.out.println("");

    }
}

23
Hola a todos !! Dejo a continuación el código del ejercicio propuesto
Desde ya muchas gracias por la atención.
Un saludo,
Luis
EJERCICIO
Define una clase que tenga cuatro atributos de tipo String cada uno de los cuales podrá ser exclusivamente una cadena de 12 ceros o de 12 unos. Es decir, cada atributo puede valer o bien "000000000000" ó bien "111111111111". La clase debe implementar la interface Cloneable y disponer de un método que permita ver el resultado de concatenar sus atributos.

Crea otra clase con el main donde crees un objeto cuyos atributos serán: "000000000000", "000000000000", "000000000000", "000000000000".

A partir de este primer objeto, crea cuatro copias usando el método clone() y modifícalas para llegar a tener cinco objetos (el inicial más los otros cuatro copias del original y luego modificados) cuyo contenido mostrarás por pantalla, debiendo obtener el siguiente resultado:
Citar
000000000000000000000000000000000000000000000000

111111111111000000000000000000000000000000000000

000000000000111111111111000000000000000000000000

000000000000000000000000111111111111000000000000

000000000000000000000000000000000000111111111111

Clase CadenaBinaria
Código: [Seleccionar]
public class CadenaBinaria implements Cloneable
{
    public String str1, str2, str3, str4;
 public CadenaBinaria(String a, String b, String c, String d) {this.str1=a; this.str2=b; this.str3=c; this.str4=d;}
      public CadenaBinaria clone()   {
      CadenaBinaria clon = new CadenaBinaria(this.str1, this.str2, this.str3, this.str4);
      return clon;
   }
 }

Clase principal Programa - main
Código: [Seleccionar]
/* Ejemplo Clase e Interfaz Cloneable aprenderaprogramar.com */
 public class Programa {
     public static void main(String arg[]) {
        CadenaBinaria c = new CadenaBinaria("000000000000","000000000000","000000000000","000000000000");
        CadenaBinaria c2 = c.clone();
        CadenaBinaria c3 = c.clone();
        CadenaBinaria c4 = c.clone();
        CadenaBinaria c5 = c.clone();
        c2.str1="111111111111";
        c3.str2="111111111111";
        c4.str3="111111111111";
        c5.str4="111111111111";
        System.out.println("Cadena binaria original :" + c.str1 + c.str2 + c.str3 + c.str4);
        System.out.println("Cadena binaria 2 (clon) :" + c2.str1 + c2.str2 + c2.str3 + c2.str4);
        System.out.println("Cadena binaria 3 (clon) :" + c3.str1 + c3.str2 + c3.str3 + c3.str4);
        System.out.println("Cadena binaria 4 (clon) :" + c4.str1 + c4.str2 + c4.str3 + c4.str4);
        System.out.println("Cadena binaria 5 (clon) :" + c5.str1 + c5.str2 + c5.str3 + c5.str4) ;
       }
 }

24
Hola a todos !! paso a dejar el código HTML y CSS para el ejercicio propuesto en la clase CU01021D del tutorial de programación CSS como si estuviera en primero. Muchas gracias por  la atención. Un saludo,
Luis

EJERCICIO

Crea un documento HTML donde la ventana del navegador esté dividida en 6 partes, cada una con su borde. En cada división pon como color de fondo lo siguiente:

a) División 1: un color expresado con notación RGB.
b) División 2: un color expresado con notación RGBA.
c) División 3: un color expresado con notación hexadecimal.
d) División 4: un color expresado con notación HSL.
e) División 5: un color expresado con notación HSLA.
f) División 6: un color designado con un nombre.
En cada división incluye un texto con la notación y color empleado. Por ejemplo <<Notación RGB, color 218, 165, 32>>.

Código HTML

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
<div id="div1">
                         Notación RGB, color (243 , 248 , 96).
</div>
<div id="div2">
                         Notación RGBA, color (254 , 126 , 81 , 0.5).
</div>
<div id="div3">
                         Notación hexadecimal, #6087F8.
</div>
<div id="div4">
                         Notación HSL, color (112 , 83% , 55%).
</div>
<div id="div5">
                          Notación HSLA, color (296 , 68% , 66% , 0.3).
</div>
<div id="div6">
                          Notación por nombre, color aquamarine.
</div>
</body>
</html>

Hoja de estilo: estilos.css

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
body {margin:0; padding:0;}
div {height:100px; border:2px; border-style: solid;}
#div1 {background-color: rgb(243,248,96);}
#div2 {background-color: rgba(254,126,81,0.5);}
#div3 {background-color: #6087F8 ;}
#div4 {background-color: hsl(112,83%,55%);}
#div5 {background-color: hsla(296,68%,66%,0.3);}
#div6 {background-color: aquamarine;}

25
Hola a todos !!! paso a dejar el código de respuesta al ejercicio propuesto en la clase CU01020D del tutorial gratuito de programación CSS disponible en esta página web. Desde ya, muchas gracias por la atención. Un saludo,

Luis

PD: Probablemente se pueda resumir la hoja de estilo indicando el color por fila y la transparencia por columna, pero por ahora solo lo puedo hacer así.
 
EJERCICIO

Crea un documento HTML con 20 divisiones. En las diez primeras divisiones introduce el color RGB 178,34,34 con grados de transparencia desde 0.1 hasta 1.0 (en cada división un punto decimal más de opacidad). En las otras diez divisiones introduce el color RGB 218,165,32 con grados de transparencia desde 1.0 hasta 0.1 (en cada división un punto decimal más de transparencia). En cada división escribe el código de color y el grado de transparencia que muestra. Por ejemplo: <<RGB 178,34,34 con transparencia 0.6>>

Código html

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
<div>
<h3>Tabla Solución</h3>
<table>
<tr>
<td id="td1">RGB 178,34,34 con transparencia 0.1</td>
<td id="td2">RGB 178,34,34 con transparencia 0.2</td>
<td id="td3">RGB 178,34,34 con transparencia 0.3</td>
<td id="td4">RGB 178,34,34 con transparencia 0.4</td>
<td id="td5">RGB 178,34,34 con transparencia 0.5</td>
<td id="td6">RGB 178,34,34 con transparencia 0.6</td>
<td id="td7">RGB 178,34,34 con transparencia 0.7</td>
<td id="td8">RGB 178,34,34 con transparencia 0.8</td>
<td id="td9">RGB 178,34,34 con transparencia 0.9</td>
<td id="td10">RGB 178,34,34 con transparencia 1.0</td>
</tr>
<tr>
<td id="td11">RGB 218,165,32 con transparencia 0.1</td>
<td id="td12">RGB 218,165,32 con transparencia 0.2</td>
<td id="td13">RGB 218,165,32 con transparencia 0.3</td>
<td id="td14">RGB 218,165,32 con transparencia 0.4</td>
<td id="td15">RGB 218,165,32 con transparencia 0.5</td>
<td id="td16">RGB 218,165,32 con transparencia 0.6</td>
<td id="td17">RGB 218,165,32 con transparencia 0.7</td>
<td id="td18">RGB 218,165,32 con transparencia 0.8</td>
<td id="td19">RGB 218,165,32 con transparencia 0.9</td>
<td id="td20">RGB 218,165,32 con transparencia 1.0</td>
</tr>

</table>
</div>
</body>
</html>

Hoja de estilo: estilos.css

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
table{border="2px";}
#td1{background-color: RGBA(178,34,34,0.1);}
#td2{background-color: RGBA(178,34,34,0.2);}
#td3{background-color: RGBA(178,34,34,0.3);}
#td4{background-color: RGBA(178,34,34,0.4);}
#td5{background-color: RGBA(178,34,34,0.5);}
#td6{background-color: RGBA(178,34,34,0.6);}
#td7{background-color: RGBA(178,34,34,0.7);}
#td8{background-color: RGBA(178,34,34,0.8);}
#td9{background-color: RGBA(178,34,34,0.9);}
#td10{background-color: RGBA(178,34,34,1.0);}
#td11{background-color: RGBA(218,165,32,0.1);}
#td12{background-color: RGBA(218,165,32,0.2);}
#td13{background-color: RGBA(218,165,32,0.3);}
#td14{background-color: RGBA(218,165,32,0.4);}
#td15{background-color: RGBA(218,165,32,0.5);}
#td16{background-color: RGBA(218,165,32,0.6);}
#td17{background-color: RGBA(218,165,32,0.7);}
#td18{background-color: RGBA(218,165,32,0.8);}
#td19{background-color: RGBA(218,165,32,0.9);}
#td20{background-color: RGBA(218,165,32,1.0);}
td{text-align:center; width:100px; height:100px;}

26
Hola a todos !! paso a dejar la respuesta del ejercicio de la clase CU01019D del manual de programación CSS en pdf. Desde ya, muchas gracias por la atención. Un saludo,
Luis

EJERCICIO

En la siguiente tabla están mal ordenados los códigos de colores. Ordénalos de forma que en cada fila estén los códigos equivalentes de forma ordenada y crea un documento HTML donde se muestre un cuadrado donde aparezca como texto el color con la notación empleada, y como color de fondo el color. En total deberás tener 15 cuadrados, cada uno con su texto y su color, correspondientes a las 15 celdas de la tabla.

Nombre         Hexadecimal          RGB
DimGray           1E90FF           178,34,34
IndianRed        696969           205,92,92
FireBrick           CD5C5C         30,144,255
DodgerBlue      B22222            75,0,130
Indigo              4B0082         105,105,105

Código HTML

Código: [Seleccionar]
<html>
<head>
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
<div>
<h3>Tabla Solución</h3>
<table>
<tr>
<td>DimGray</td>
<td>#696969</td>
<td>RGB(105,105,105)</td>
</tr>
<tr>
<td>IndianRed</td>
<td>#CD5C5C</td>
<td>RGB(205,92,92)</td>
</tr>
<tr>
<td>FireBrick</td>
<td>#B22222 </td>
<td>RGB(178,34,34)</td>
</tr>
<tr>
<td>DodgerBlue</td>
<td>#1E90FF</td>
<td>RGB(30,144,255)</td>
</tr>
<tr>
<td>Indigo</td>
<td>#4B0082</td>
<td>RGB(75,0,130)</td>
</tr>
</table>
</div>
</body>
</html>

Hoja de estilo: estilos.css

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
table{border="2px";}
tr:nth-child(1){background-color: DimGray;}
tr:nth-child(2){background-color: IndianRed;}
tr:nth-child(3){background-color: FireBrick;}
tr:nth-child(4){background-color: DodgerBlue;}
tr:nth-child(5){background-color: Indigo;}
td{width:200px; text-align:center; color:#FFFFFF; height:50px;}

27
Hola a todos !! Paso a dejar la respuesta del ejercicio CU00911C del manual pdf de programación java avanzada. Desde ya muchas gracias. Un saludo, Luis


EJERCICIO

Citar
En esta entrega hemos podido ver lo siguiente: StringBuilder puede ofrecer resultados no consistentes en una ejecución multihilo (concurrente, con distintos “subprogramas” ejecutándose simultáneamente) ya que sus métodos no son sincronizados.

Busca información en internet y trata de poner un ejemplo de cómo podría generarse una inconsistencia en programación multihilo. No hace falta que escribas código, únicamente es necesario describir en unas pocas líneas (como si estuvieras explicándoselo a un amigo) la idea o situación.

La clase String es una clase no modificable. Esto quiere decir que cuando se modifica un String se crea un nuevo objeto String modificado a partir del original y el recolector de basura es el encargado de eliminar de la memoria el String original, eso origina un uso mayor de los recursos.

En general decidiremos cuando usar String, StringBuilder o StringBuffer según lo siguiente:
-Usaremos String si la cadena de caracteres no va a cambiar.
-Usaremos StringBuilder si la cadena de caracteres puede cambiar y solamente tenemos un hilo de ejecución.
-Usaremos StringBuffer si la cadena de caracteres puede cambiar y tenemos varios hilos de ejecución.

StringBuilder (llegó con Java 5),  no es síncrona, lo que significa que puede haber problemas si a una variable la acceden diferentes threads. Sin embargo, para la mayoría de las aplicaciones (donde se ejecuta un solo hilo) supone una mejora de rendimiento sobre StringBuffer.

La diferencia entre un StringBuilder y un StringBuffer es que un StringBuffer provee métodos sincronizados por lo que es seguro usarlos en un ambiente multi-hilos. Un StringBuffer se comporta de manera consistente con el orden de las llamadas a los métodos hechas por cada hilo.

StringBuilder es rápido ya que no es seguro al utilizarse en los hilos, no es thread safe.
Con varias ejecuciones, los tiempos son constantemente menores para el StringBuilder. Por ejemplo, concatenar 100000 cadenas con:
.String: 300000 milisegundos
.StringBuffer: 30 milisegundos
.StringBuilder: 15 milisegundos
(los valores dependen del ordenador usado-es a modo de ejemplo)

28
Hola a todos !! paso a dejar el código de los dos ejercicios de la clase CU00909C del tutorial pdf de programación Java avanzada. Desde ya muchas gracias. Un saludo, Luis

EJERCICIO Nº 1

Crea un programa que elija dos números enteros aleatorios A y B pero no los muestre por pantalla aún. Si los dos números fueran iguales, deberá repetirse la elección hasta que sean distintos. El programa preguntará por quién apostamos, A o B (gana el número más alto). Una vez el usuario haya introducido su apuesta, el programa mostrará el valor de A y B, dirá si hemos ganado la apuesta (acertado el número más alto) o perdido y nos dirá cuántas partidas hemos ganado y perdido hasta el momento. Tras una jugada, nos preguntará si queremos jugar otra vez.

Citar
Ejemplo de ejecución:

Apuestas por A o por B ? : A
A saca un 9 y B saca un 6     HAS GANADO!!!
Llevas 1 partidas ganadas y 0 partidas perdidas
Quieres probar otra vez ? (S/N) : S
Apuestas por A o por B ? : A
A saca un 1 y B saca un 8     HAS PERDIDO!!!
Llevas 1 partidas ganadas y 1 partidas perdidas
Quieres probar otra vez ? (S/N) : N
Adiós


Solución propuesta:

Código: [Seleccionar]
/* Ejemplo uso clase Random() – aprenderaprogramar.com */
import java.util.Random;
import java.util.Scanner;
public class Ejercicio1 {
      public static void main(String arg[ ]) {
           Random rnd = new Random();
           Scanner teclado = new Scanner(System.in);
           String continuar="S";
           String nroElegido="";
           int totalAciertos=0;
           int totalDesaciertos=0;
           String respuesta="";
           do {
               int nroA = rnd.nextInt(10);
               int nroB = rnd.nextInt(10);
               System.out.println("Apuestas por A o por B ?:");
               while(nroA==nroB){
                   nroB = rnd.nextInt(10);
                }

               nroElegido = teclado.next();
               
               while(nroElegido.equalsIgnoreCase("A")==false&&nroElegido.equalsIgnoreCase("B")==false){
                   System.out.println("Apuestas por A o por B ?:");
                   nroElegido = teclado.next();
               }               
               
               if ((nroElegido.equalsIgnoreCase("A")&&nroA>nroB)||(nroElegido.equalsIgnoreCase("B")&&nroB>nroA)){
                   totalAciertos=totalAciertos+1;
                   respuesta="  HAS GANADO!!!";
                } else {totalDesaciertos=totalDesaciertos+1;
                        respuesta="  HAS PERDIDO!!!";
                }
               
               System.out.println("A saca un "+nroA+" y B saca un "+nroB+respuesta);
               System.out.println("Llevas "+totalAciertos+" partidas ganadas y "+totalDesaciertos+" partidas perdidas");

               System.out.println("Quieres probar otra vez ? (S/N):");
               continuar = teclado.next();
                }
           while(continuar.equalsIgnoreCase("S"));
           System.out.println("Adiós");
           //System.out.println("el numero ingresado es :"+inicioRango); 
      }
}


EJERCICIO Nº 2

Ahora vamos a jugar a la “Lotería primitiva”. Para ello, se pedirá al usuario que introduzca 6 números enteros comprendidos entre el 1 y el 49 ambos incluidos. No estará permitido repetir número. Una vez elegidos los seis números el programa nos mostrará nuestros 6 números así como la combinación ganadora (ordenada de menor a mayor). Esta combinación constará de 6 números entre 1 y 49 elegidos al azar por el programa. Finalmente nos dirá cuántos aciertos hemos tenido y nos preguntará si queremos volver a jugar.

Citar
Ejemplo de ejecución:

Elige 6 numeros entre el 1 y el 49.
Elige el numero 1 : 3
Elige el numero 2 : 8
Elige el numero 3 : 14
Elige el numero 4 : 2
Elige el numero 5 : 34
Elige el numero 6 : 38
Numeros Elegidos    : 3  8  14  2  34  38
Combinación ganadora : 6  14   21  27  30  48
Has acertado : 1 números
Quieres probar otra vez ? (S/N) : n
Adiós


Código: [Seleccionar]
/* Ejemplo uso clase Random() – aprenderaprogramar.com */
import java.util.*;
public class Ejercicio2 {
      public static void main(String arg[ ]) {
           ArrayList lista = new ArrayList<Integer>();
           Random rnd = new Random();
           Scanner teclado = new Scanner(System.in);
           String continuar="S";
           int[ ] nroElegido = new int[6];
           int[ ] nroLoteria = new int[6];
           int totalAciertos=0;
           int i=0;
           int j=0;
           boolean nroRepetido=false;
           // elección de los números para el sorteo
           do {
               System.out.println("Elige 6 números entre el 1 y el 49.");
               for(i=0;i<6;i++){
                   do{
                       nroRepetido=false;
                       System.out.print("Elige el número "+(i+1)+" : ");               
                       nroElegido[i]=Integer.parseInt(teclado.next());
                       for (j=0;j<i;j++){
                           if (nroElegido[i]==nroElegido[j]){nroRepetido=true;}
                        }
                    }   
                   while(nroElegido[i]<1||nroElegido[i]>49||nroRepetido==true);
                }
               // ordena la lista de nros elegidos
               lista.clear();
               for (i=0;i<6;i++){lista.add(nroElegido[i]);}
               Collections.sort(lista);
               for (i=0;i<6;i++){nroElegido[i]=(int)lista.get(i);}
               // muestra los nros elegidos
               System.out.print("Los números elegidos son :");
               for (i=0;i<6;i++){
                   System.out.print(nroElegido[i]);
                   if(i==5){System.out.println("");} else {System.out.print(", ");}
                }
               // se realiza el sorteo de la loteria
               i=0;
               do {
                   nroLoteria[i] = rnd.nextInt(49)+1;
                   nroRepetido=false;
                   for (j=0;j<i;j++){
                       if (nroLoteria[i]==nroLoteria[j]){nroRepetido=true;}
                   }
                   if (nroRepetido==false) {i++;}
               }
               while(i<6);
               // ordena los numeros sorteados por la Loteria
               lista.clear();
               for (i=0;i<6;i++){lista.add(nroLoteria[i]);}
               Collections.sort(lista);
               for (i=0;i<6;i++){nroLoteria[i]=(int)lista.get(i);}
               // muestra los nros de la loteria
               System.out.print("Combinación ganadora :");
               for (i=0;i<6;i++){
                System.out.print(nroLoteria[i]);
                if(i==5){System.out.println("");} else {System.out.print(", ");}
                }
               // control de nros ganadores
               totalAciertos=0;
               for (i=0;i<6;i++){
                   for (j=0;j<6;j++){
                        if(nroElegido[i]==nroLoteria[j]){ totalAciertos = totalAciertos+1;}
                    }
                }
               System.out.println("Has acertado: "+totalAciertos+" números");
               System.out.print("Quieres probar otra vez?(S/N):");
               continuar = teclado.next();               
           } 
           while(continuar.equalsIgnoreCase("S"));
           System.out.println("Adiós");
           //System.out.println("el numero ingresado es :"+inicioRango); 
      }
}

29
Hola a todos !! Dejo las respuestas solicitadas en el ejercicio de la clase: CU01017D del curso gratuito de CSS que se ofrece en esta web. Desde ya muchas gracias por la atención.

Un saludo, Luis

EJERCICIO

En el archivo CSS externo a un documento HTML encontramos esta declaración:

Citar
.magicTitle {
margin:0px;
width:20px;
height:30px;
color:green !important;
border-style: hidden !important;
}
Por otro lado dentro del código HTML tenemos el siguiente código:
Citar
<div class="magicTitle" style="border:1px solid blue; color: blue;">
Aprendiendo a programar
</div>

Responde a las siguientes preguntas:

a) ¿Se mostrará un borde para el div? ¿Por qué?

No, porque en la hoja de estilo externa el borde está declarado como hidden(oculto) con la palabra !important "border-style: hidden !important;" y prevalece a cualquier otra declaración sobre el borde.

b) ¿Con qué color se mostrará el texto, con color verde o con color azul? ¿Por qué?

Análogamente a la respuesta a), se mostrará el texto de color verde porque en la hoja de estilo está declarado como !important "color:green !important;" y prevalece sobre la declaracion en el archivo html: "color: blue;"

c) ¿Se respetarán los valores de width y height definidos en el archivo CSS externo o quedarán anulados? ¿Por qué?

Si, se respetarán porque no hay situación de conflicto con otra declaración

30
Hola Jorge !!! Muchas gracias nuevamente por tu atención.  :)
Tal cual como vos decís. En el ejercicio cuando puse font-size:130% en h1 se redujo la letra. Volví a leer las especificaciones y lo solicitado era  "... y tamaño de fuente el 130% respecto de lo normal para los elementos h1". Entendí que "normal" es el tamaño grande(2em) y tuve que calcular el incremento aparte.
Un saludo,
Luis

31
Hola a todos !! paso a dejar la respuesta del ejercicio propuesto CU01013D del curso de programación CSS desde cero. Desde ya muchas gracias por la atención. Un saludo,
Luis

EJERCICIO

Analiza el siguiente código HTML. En él encontrarás tres etiquetas div. Haz lo siguiente:

a) Establece atributos class para cada una de ellas con valores <<principal>> para la primera, y <<secundario>> para la segunda y la tercera.

b) Usando CSS establece como color de texto el rojo (red) y tamaño de fuente el 130% respecto de lo normal para los elementos h1 que se encuentren dentro de un elemento cuyo valor class sea <<principal>>.

c) Usando CSS establece como color de texto el verde y tamaño de fuente el 110% respecto de lo normal para los elementos h3 que se encuentren dentro de un elemento cuyo valor class sea <<secundario>>.

d) Usando CSS establece como color de fondo el amarillo (yellow) para los elementos span que se encuentren dentro de elementos h3 que se encuentren dentro de elementos cuyo atributo class sea <<secundario>>.

e) Establece como tipo de fuente para todo el documento HTML el tipo Arial.

Se presentó un problema cuando intenté modificar el font-size de las etiquetas h1 y h3 ya que el porcentaje se calculaba sobre el tamño normal y no sobre el tamaño de esas etiquetas: h1 tiene 2em y h3 tiene 1.17em. Por lo tanto, 130% de 2em es igual 2.6em y 110% de 1.17em es igual a 1.287em


Código: [Seleccionar]
<!DOCTYPE html>
<html><head><title>Portal web - aprenderaprogramar.com</title>
<meta name="description" content="Portal web aprenderaprogramar.com">
<meta name="keywords" content="aprender, programar, cursos, libros"><meta charset="utf-8">
<link rel="stylesheet" type="text/CSS" href="estilosCU01013D.css">
</head>
<body>
<div class="principal"><h1>Novedades</h1><p>Aquí presentamos las novedades del sitio.</p></div>
<div class="secundaria"><h3>Lanzamos el producto <span>X-FASHION</span></h3>
<p>Este producto permite estirar la piel hasta dejarla como la de un bebé.</p>
<p><img src="http://i.imgur.com/tq5Bs.png" title="Imagen del producto" alt="imagen producto x-fashion" /></p>
</div>
<div class="secundaria"><h3>Mejoramos el producto T-MOTION</h3>
<p>Hemos lanzado una nueva versión del producto <span>T-MOTION</span></p>
<p><img src="http://i.imgur.com/SpZyc.png" title="Imagen del proudcto tmotion" alt="imagen producto tmotion" /></p>
</div>
</body>
</html>

y la página de estilo es...
Código: [Seleccionar]
/* Hoja de estilos: estilosCU01013D.css */
/* correspondiente a ejercicioCU01013D.html */
body {font-family: Arial;}
/* h1 = 2em ---> 130% = 2.6em */
.principal h1{color:red; font-size:2.6em;}
/* h3 = 1.17em --> 110% = 1.287em */
.secundaria h3{color:green; font-size:1.287em}
.secundaria h3 span{background-color:yellow; }

32
Hola a todos !! Dejo el código del ejercicio propuesto en la clase CU00908C del tutorial de programación Java avanzado en pdf. Desde ya muchas gracias. Un saludo,
Luis

EJERCICIO

Crea un programa que cumpla lo indicado a continuación. El programa permitirá jugar a “adivinar un número entero” tantas veces como el usuario desee. En cada ocasión el programa pedirá al usuario el número inicial y el número final de la serie de números entre los que se encontrará el número a adivinar. También preguntará el número de intentos permitidos. En cada intento el número a adivinar será diferente y estará dentro del rango definido por el usuario.

Trás los intentos el programa nos dirá cuantas veces hemos acertado y cuántas veces hemos fallado, los números que eran solución y nos preguntará si queremos volver a jugar.

Citar
Ejemplo de ejecución:

Introduce el numero inicial del rango: 40
Introduce el numero final del rango: 60
Introduce el numero de intentos: 2
¿Qué numero estoy pensando? : 44
No has acertado
¿Qué numero estoy pensando? : 42
No has acertado
Has acertado 0 veces y has fallado 2 veces. Eran solución: 49, 41
Quieres probar otra vez ? (S/N): S
Introduce el numero inicial del rango: 4
Introduce el numero final del rango: 6
Introduce el numero de intentos: 2
¿Qué numero estoy pensando? : 4
No has acertado
¿Qué numero estoy pensando? : 5
Has acertado!!
Has acertado 1 veces y has fallado 1 veces. Eran solución: 6, 5
Quieres probar otra vez ? (S/N): N
Adiós


Clase AdivinanzaNroRandom (main)

Código: [Seleccionar]
/* Ejemplo uso clase Random() – aprenderaprogramar.com */
import java.util.Random;
import java.util.Scanner;
public class AdivinanzaNroRandom {
      public static void main(String arg[ ]) {
           Random rnd = new Random();
           Scanner teclado = new Scanner(System.in);
           String continuar="S";
           int respuestas[];
           
           do {
               int totalAciertos=0;
               int totalDesaciertos=0;
               
               System.out.println("Introduce el número inicial del rango :");
               int inicioRango = Integer.parseInt(teclado.next());
               
               System.out.println("Introduce el número final del rango :");
               int finalRango = Integer.parseInt(teclado.next());
               finalRango = finalRango+1;// para que se incluya en el rango el numero final ingresado

               System.out.println("Introduce el númerode intentos :");
               int intentos = Integer.parseInt(teclado.next());
               respuestas = new int[intentos];
               int i=0;
               int j=0;
                    do {
                        int numeroOculto = (int)(rnd.nextDouble() * (finalRango-inicioRango) + inicioRango);
                        System.out.println("¿Qué numero estoy pensando?");
                        int numeroElegido = Integer.parseInt(teclado.next());
                        respuestas[i]=numeroOculto;
                            if (numeroElegido==numeroOculto) {
                                System.out.println("Has acertado!!");
                                totalAciertos = totalAciertos+1;
                            } else {
                                System.out.println("No has acertado!!");
                                totalDesaciertos = totalDesaciertos+1;
                            }
                        i++;   
                    }
                    while(i<intentos);
                    System.out.print("Has acertado "+totalAciertos+" veces y has fallado "+totalDesaciertos+ " veces. Eran solucion :");
                    for (j=0;j<intentos;j++){
                        System.out.print(respuestas[j]);
                            if (j<(intentos-1)){
                                System.out.print(",");} else {System.out.println("");}
                    }
                    System.out.println("Quieres probar otra vez ? (S/N):");
                    continuar = teclado.next();
                }
                while(continuar.equals("S"));
                System.out.println("Adiós");
           //System.out.println("el numero ingresado es :"+inicioRango); 
      }
}

33
Hola Jorge !!! Muchas gracias por ayudarme con tus observaciones.

Te cuento cómo apareció el error. Hice las 3 páginas solicitadas: webpage1.html, webpage2.html y webpage3.html. También hice la página index.html que sirvió de menú donde hay una opción para ir a la página 1. Aclaro que se puede probar el ejercicio entrando por el menú o por la pagina 1 (puse los dos links). El error estaba en el link a la página 2ª, pero de index.html a página 1 funcionaba perfectamente. Corregí el link pero el error continuaba, cuando vacié la caché del navegador (Firefox), santo remedio!!.

y con respecto a la calificación de "vago" (en forma indirecta, eh!!) al no agregar cosas a las páginas... no tengo nada que decir en mi defensa !! ;D


 

34
Jorge, muchas gracias por tus correcciones !!! Uno aprende más de sus errores que de sus aciertos.
Mi error fue asociar el término "cajas" con elementos tipo "block". O sea, podemos decir que todo código y/o texto encerrado entre etiquetas es una caja con línea continua?. Corregime si me equivoco, por favor.

Otra cosa (y no es excusa), en la clase CU01008D se ejemplifica en forma detallada el esquema en cajas con el cuerpo de la página web, lo que encierra las etiquetas <body></body> de ahi la omisión del resto que hice, en mi caso fue el encabezado:<head></head>, y el total de la página:<html></html>
Citar
El siguiente esquema reflejaría el modelo de cajas del documento HTML de forma similar a como lo construye un navegador web como pueda ser Internet Explorer, Google Chrome o Mozilla Firefox, Safari, etc....
Ahora si, completé el ejercicio y pongo a continuación los esquemas que van.
Muchas gracias nuevamente !!
Un saludo,
Luis
PD: y muchas gracias por tus devoluciones en otros ejercicios que publiqué





35
Hola manu37 !! Tengo dos detalles que comentarte:
Citar
    String Combinacion (String valor_frase1, String valor_frase2, String valor_frase3)


    {
        String frase1  = "Hola";
        String frase2 = "Mundo";
        String frase3 = "Bellísimo";

        String combinacion = valor_frase1.substring(0,2) + " " + valor_frase2.substring(0,4) + "-" + valor_frase3.substring(0,6) + " _";
        return combinacion;
    }

1) Lo escrito en color naranja no afecta pero es código que está de más.
2) Lo que está en color rojo no fue solicitado en el ejercicio.

Un saludo,
Luis

36
Hola manu37 !! Todo bien salvo por un pequeño error
Citar
public void setCasado(boolean asado){
       
        this.casado = casado;
       
    }
Un saludo,
Luis

38
Hola manu37 !
hay un problema con un "if" en el control del largo de la cadena. Si pongo la palabra "ala" sale la siguiente respuesta
Citar
Ingrese una palabra o una oración:
ala
La palabra introducida tiene menos de 5 caracteres.
La cadena tiene más de 15 caracteres.
Empieza por la letra A.

"La cadena tiene más de 15 caracteres." no es correcta.
Un saludo,
Luis

39
Hola a todos !! dejo a continuación el código HTML y CSS del ejercicio propuesto CU01012D del tutorial de programación CSS. Desde ya muchas gracias. Un saludo,

Luis

EJERCICIO

Analiza el siguiente código HTML. En él encontrarás tres etiquetas div. Haz lo siguiente:

a) Establece atributos class para cada una de ellas con valores <<principal>> para la primera, y <<secundario>> para la segunda y la tercera.

b) Usando CSS establece como color de texto el rojo (red) y tamaño de fuente el 150% respecto de lo normal para los elementos cuyo valor class sea <<principal>>.

c) Usando CSS establece como color de texto el verde para los elementos y tamaño de fuente el 110% respecto de lo normal para los elementos cuyo valor class sea <<secundario>>.

d) Usando CSS establece como color de fondo para los párrafos dentro de elementos cuyo atributo class sea <<secundario>> el amarillo (yellow).


Codigo HTML

Código: [Seleccionar]
<!DOCTYPE html>
<!-- ejercicio CU01012D.html -->
<html>
<head>
<title>Portal web - aprenderaprogramar.com</title>
<meta name="description" content="Portal web aprenderaprogramar.com">
<meta name="keywords" content="aprender, programar, cursos, libros"><meta charset="utf-8">
<link rel="stylesheet" type="text/CSS" href="estilosCU01012D.css">
</head>
<body>
<div class="principal">
<h1>Novedades</h1>
<p>Aquí presentamos las novedades del sitio.</p>
</div>
<div class="secundario">
<h3>Lanzamos el producto X-FASHION</h3>
<p class="fondoTexto">Este producto permite estirar la piel hasta dejarla como la de un bebé.</p>
<p><img src="http://i.imgur.com/tq5Bs.png" title="Imagen del producto" alt="imagen producto x-fashion" /></p>
</div>
<div class="secundario">
<h3>Mejoramos el producto T-MOTION</h3>
<p class="fondoTexto">Hemos lanzado una nueva versión del producto T-MOTION</p>
<p><img src="http://i.imgur.com/SpZyc.png" title="Imagen del proudcto tmotion" alt="imagen producto tmotion" /></p>
</div>
</body>
</html>


Código CSS

Código: [Seleccionar]
/* Hoja de estilos: estilosCU01012D.css */
/* correspondiente a ejercicioCU01012D.html */
.principal{
color:red; font-size:150%;
}
.secundario{
color:green; font-size:110%;
}
.fondoTexto {
background:yellow;
}

40
Hola a todos !! dejo el código del ejercicio propuesto CU01011D del tutorial de programación CSS desde cero. Desde ya muchas gracias. Un saludo,
Luis

EJERCICIO


Analiza el siguiente código HTML. En él encontrarás tres etiquetas div. Haz lo siguiente:
a) Establece atributos id para cada una de ellas con valores <<novedades>> para la primera, <<xFashion>> para la segunda y <<tMotion>> para la tercera.
b) Usando CSS establece como color de texto el rojo (red) para los elementos h1 que se encuentren dentro del elemento con id <<novedades>>.
c) Usando CSS establece como color de texto el verde para los elementos h3 que se encuentren dentro de los elementos con id <<xFashion>> y <<tMotion>>.
d) Usando CSS establece como color de fondo para el elemento con id <<novedades>> el amarillo (yellow).


Código HTML

Código: [Seleccionar]
<!DOCTYPE html>
<!-- ejercicioCU01011D -->
<!-- aprenderaprogramar.com -->
<html>
<head>
<title>Portal web - aprenderaprogramar.com</title>
<meta name="description" content="Portal web aprenderaprogramar.com">
<meta name="keywords" content="aprender, programar, cursos, libros">
<meta charset="utf-8">
<link rel="stylesheet" style="text/CSS" href="estilosCU01011D.css">
</head>
<body>
<!-- div novedades -->
<div>
<div id = "novedades">
<h1>Novedades</h1>
<p>Aquí presentamos las novedades del sitio.</p>
</div>
<!-- fin novedades -->
<!-- div xFashion -->
<div>
<div id = "xFashion">
<h3>Lanzamos el producto X-FASHION</h3>
<p>Este producto permite estirar la piel hasta dejarla como la de un bebé.</p>
<p><img src="http://i.imgur.com/tq5Bs.png" title="Imagen del producto" alt="imagen producto x-fashion" /></p>
</div>
<!-- fin xFashion -->
<!-- div tMotion -->
<div>
<div id = "tMotion">
<h3>Mejoramos el producto T-MOTION</h3>
<p>Hemos lanzado una nueva versión del producto T-MOTION</p>
<p><img src="http://i.imgur.com/SpZyc.png" title="Imagen del proudcto tmotion" alt="imagen producto tmotion" /></p>
</div>
<!-- div tMotion -->
</body>
</html>


Codigo CSS


Código: [Seleccionar]
/* Hoja de estilos: estilosCU01011D.css */
/* correspondiente a ejercicioCU01011D.html */
#novedades h1 {color:red;}
#xFashion h3, #tMotion h3  {color:green;}
#novedades {background:yellow;}

Páginas: 1 [2] 3 4 5 6 7

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".