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.


Temas - @mayakoski

Páginas: [1] 2
1
Buenas tardes, dejo planteada mi solución al ejercicio CU00924C del tutorial de programación java avanzado, espero algún comentario sobre el mismo

Código: [Seleccionar]
package claseCU00924C;

import java.util.Objects;

public class Hotel implements Comparable<Hotel> {
private int idHotel;
private String zona;
private int precio;

public Hotel(int pIdHotel, String pZona, int pPrecio) {
this.idHotel = pIdHotel;
this.zona = pZona;
this.precio = pPrecio;
}


public String getZona() {
return zona;
}


@Override
public int compareTo(Hotel o) {
return this.precio-o.precio;
}

@Override
public String toString() {
return "Hotel-> ID: "+idHotel+" Zona: "+zona+" Precio: "+precio+"\n";
}

@Override
public int hashCode() { return precio + zona.hashCode() + idHotel; }


@Override
    public boolean equals(Object obj) {
        if (obj == null) {   return false;  }
        if (getClass() != obj.getClass()) {  return false;   }
        final Hotel other = (Hotel) obj;
        if (this.idHotel != other.idHotel) {  return false;    }
        if (!Objects.equals(this.zona, other.zona)) {    return false;     }
        if (this.precio != other.precio) {     return false;   }
        return true;
    }

}


Código: [Seleccionar]
package claseCU00924C;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;

public class Programa2 {
public static void main(String[] args) {
Set<Hotel> cjsh = new HashSet<Hotel>();
SortedSet<Hotel> cjssh = new TreeSet<Hotel>();
Hotel h;
Scanner entradaTeclado = new Scanner(System.in);
int eleccion;
String zonaEleccion;

h = new Hotel(14, "Rural", 146);
cjsh.add(h);
h = new Hotel(5,"Rural", 92);
cjsh.add(h);
h = new Hotel(7,"Montaña", 63);
cjsh.add(h);
h = new Hotel(1,"Playa", 77);
cjsh.add(h);
h = new Hotel(3,"Playa", 109);
cjsh.add(h);
h = new Hotel(10,"Montaña", 79);
cjsh.add(h);
h = new Hotel(4,"Rural", 43);
cjsh.add(h);
h = new Hotel(6,"Montaña", 142);
cjsh.add(h);
h = new Hotel(11,"Playa", 53);
cjsh.add(h);
h = new Hotel(2,"Montaña", 108);
cjsh.add(h);
h = new Hotel(0,"Rural", 135);
cjsh.add(h);
h = new Hotel(8,"Rural", 66);
cjsh.add(h);
h = new Hotel(9,"Rural", 65);
cjsh.add(h);

System.out.println("Hoteles en el conjunto: \n");
System.out.println(cjsh + "\n");

System.out.print("Elige zona de hotel. (1) Playa (2) Montaña (3) Rural \n" + "\nEleccion: ");
eleccion = entradaTeclado.nextInt();

zonaEleccion = (eleccion == 1) ? "Playa" :(eleccion == 2) ? "Montaña" : (eleccion == 3) ? "Rural" : "Elección no valida";

System.out.println("\nHoteles en el conjunto para la selección '" + zonaEleccion + "' ordenados por precio:\n");

Hotel temp = null;
Iterator<Hotel> it = cjsh.iterator();

while (it.hasNext()) {
temp = it.next();
if(temp.getZona().equalsIgnoreCase(zonaEleccion)) {
cjssh.add(temp);
}
}

if(cjssh.size() > 0) {
System.out.println(cjssh);
}
}
}

2
Dejo mi solución al ejercicio ropuesto CU00923C del tutorial de programación Java avanzado.

Código: [Seleccionar]
package claseCU00923C;

import java.util.Stack;

public class VerificadorVocales {

private String cadena;
private char vocal;

public VerificadorVocales() {
}

public int CuentaVocal(String pCadena,char pVocal) {
int resultado = 0;
Stack<String> pila = new Stack<String>();
int i=0;
int counter=0;
while (i < pCadena.length()) {
if (pCadena.charAt(i) == pVocal) {
pila.push(Character.toString(pVocal));
counter++;
}
i++;
}

if (!pila.empty()) resultado = (counter%2 == 0)? 1: -1;

return resultado;
}
}
Código: [Seleccionar]
package claseCU00923C;

import java.util.Scanner;

public class Programa {

public static void main(String arg[]) {

String cadena;
String aes="0",ees="0",ies="0",oes="0",ues="0";
Scanner entradaTeclado = new Scanner(System.in);
VerificadorVocales verified = new VerificadorVocales();

boolean analizar = true;

while(analizar) {
System.out.println("¿Qué cadena desea analizar?");
cadena = entradaTeclado.next();
aes = ((verified.CuentaVocal(cadena,'a')) == 1) ?"par" : ((verified.CuentaVocal(cadena,'a')) == -1 ? "impar" : "0") ;
ees = ((verified.CuentaVocal(cadena,'e')) == 1) ?"par" : ((verified.CuentaVocal(cadena,'e')) == -1 ? "impar" : "0");
ies = ((verified.CuentaVocal(cadena,'i')) == 1) ?"par" : ((verified.CuentaVocal(cadena,'i')) == -1 ? "impar" : "0");
oes = ((verified.CuentaVocal(cadena,'o')) == 1) ?"par" : ((verified.CuentaVocal(cadena,'o')) == -1 ? "impar" : "0");
ues = ((verified.CuentaVocal(cadena,'u')) == 1) ?"par" : ((verified.CuentaVocal(cadena,'u')) == -1 ? "impar" : "0");

System.out.println("El numero de aes es " + aes + ", El numero de ees es " + ees + ", el numero de ies es " + ies + ", el numero de oes es " + oes + ", el numero de ues es " + ues);

System.out.print("¿Desea analizar otra cadena? " );
analizar = (entradaTeclado.next().equalsIgnoreCase("S")) ?true:false;

}
System.out.println("Gracias por utilizar el programa");

}

}

3
Dejo planteada mi solución al ejercicio de la entrega CU00922C del tutorial pdf de programación java avanzada de aprenderaprogramar.

Código: [Seleccionar]
package claseCU00922C;

public class Paquete {
private int idPaquete;
private int pesoPaquete;

public Paquete(int pIdPaquete, int pPesoPaquete) {
idPaquete = pIdPaquete;
pesoPaquete = pPesoPaquete;
}

public int getPesoPaquete() {
return pesoPaquete;
}
}


Código: [Seleccionar]
package claseCU00922C;

import java.util.Iterator;
import java.util.Random;
import java.util.Vector;

public class TestPaquete {
public static void main(String[] args) {
Vector<Paquete> v = new Vector<Paquete>(5, 1);
int cargaMaximaContenedor = v.capacity() * 100;
int pesoTotalCarga = 0;
for (int i = 0; i < 50; i++) {
v.add(new Paquete(i, (int) Math.round((Math.random() * (150 - 80)) + 80)));
}
cargaMaximaContenedor = v.capacity() * 100;

Iterator<Paquete> it = v.iterator();

while (it.hasNext()) {
Paquete paquete = (Paquete) it.next();
pesoTotalCarga = pesoTotalCarga + paquete.getPesoPaquete();

}

System.out.println("La capacidad del contenedor es: " + v.capacity()
+ " La nueva carga Maxima del contenedor es " + cargaMaximaContenedor + " El Contenedor tiene: "
+ v.capacity() + " paquetes, El peso total de los paquetes es " + pesoTotalCarga);

if (pesoTotalCarga > cargaMaximaContenedor) {
v.ensureCapacity((int) Math.ceil((double) pesoTotalCarga / (double) 100));
System.out.println("Se ha aumentado la capacidad a " + v.capacity()
+ " paquetes lo que permite cargar hasta " + v.capacity() * 100 + " kilos");

} else {
System.out.println("No ha sido necesario aumentar la capacidad");
}
}
}


4
Buenas tardes a todos, paso a dejar mi solución al ejercicio CU00921C del tutorial de programación java avanzado, lo he hecho tratando de cumplir con lo requerido, espero cualquier observación a modo de retroalimentación.

Saludos

Esta es mi clase Vehículo en la cual eh puesto dos métodos que me permiten obtener lo requerido, pero los he generado como estaticos, si se puede de otra manera me gustaria saberlo.


Código: [Seleccionar]
package claseCU00921C;

import java.util.Iterator;
import java.util.List;

import claseCU00919C.Animal;

public class Vehiculo {
private int idVehiculo;
private String tipo;

public String getTipo() {
return tipo;
}

public Vehiculo(int pIdVehiculo, String pTipo) {
this.idVehiculo = pIdVehiculo;
this.tipo = pTipo;
}

public String toString() {
return "El vehiculo es: " + this.idVehiculo + " Detipo: " + this.tipo;
}

public static String ContarTiposArray(List<Vehiculo> pArreglo) {
Iterator<Vehiculo> itArray = pArreglo.iterator();
Vehiculo temp = null;
int coches = 0, camiones = 0, furgonetas = 0, motos = 0;

while (itArray.hasNext()) {
temp = itArray.next();
switch (temp.getTipo()) {
case "Coche":
coches += 1;
break;
case "Camión":
camiones += 1;
break;
case "Furgoneta":
furgonetas += 1;
break;
default:
motos += 1;
break;
}
}
return coches + " Coches, " + camiones + " Camiones, " + furgonetas + " Furgonetas y " + motos + " Motos";
}

public static String EliminaInserta(List<Vehiculo> pArreglo) {
Iterator<Vehiculo> it = pArreglo.iterator();
long tiempo;
int numEliminados = 0;
Vehiculo temp = null;

tiempo = System.nanoTime();
while (it.hasNext()) {
temp = it.next();
if (temp.getTipo() != "Coche") {
it.remove();
numEliminados += 1;
}
}

pArreglo.listIterator();

for (int i = 5000; i < numEliminados + 5000; i++) {
pArreglo.add(new Vehiculo(i + 1, "Coche"));
}
System.out.println("Una vez realizada la eliminación e inserción; ");
return "Tiempo empleado en la eliminación-inserción (en nanosegundor):"
+ String.valueOf(System.nanoTime() - tiempo);
}

}

Código: [Seleccionar]
package claseCU00921C;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;

public class Programa {
public static void main(String arg[]) {

List<Vehiculo> arrayVehiculos = new ArrayList<Vehiculo>();
List<Vehiculo> linkedVehiculos = new LinkedList<Vehiculo>();

String[] tipos = { "Coche", "Camión", "Furgoneta", "Moto" };
Random tipoRandom = new Random();

for (int i = 0; i < 5000; i++) {
// En este ejemplo cada vehiculo es de un tipo aleatorio
arrayVehiculos.add(new Vehiculo(i, tipos[tipoRandom.nextInt(4)]));
linkedVehiculos.add(new Vehiculo(i, tipos[tipoRandom.nextInt(4)]));
}

System.out.println("Usando ArrayList");
System.out.println("Resumen lista inicial: hay " + Vehiculo.ContarTiposArray(arrayVehiculos));
System.out.println(Vehiculo.EliminaInserta(arrayVehiculos));
System.out.println("Resumen lista Final: hay " + Vehiculo.ContarTiposArray(arrayVehiculos));

System.out.println();

System.out.println("Usando LinkedList");
System.out.println("Resumen lista inicial: hay " + Vehiculo.ContarTiposArray(linkedVehiculos));
System.out.println(Vehiculo.EliminaInserta(linkedVehiculos));
System.out.println("Resumen lista inicial: hay " + Vehiculo.ContarTiposArray(linkedVehiculos));

}
}


5
Paso a dejar mi propuesta de la solución del ejercicio CU00920C del certificado Java avanzado de aprenderaprogramar.

Código: [Seleccionar]
package claseCU00920C;

public class Cuadrupedo {
private int idCuadrupedo;
private String tipo;

public Cuadrupedo(int pIdCuadrupedo, String pTipo) {
this.idCuadrupedo = pIdCuadrupedo;
this.tipo = pTipo;
}

@Override
public String toString() {
return "Cuadrupedo-> ID " + this.idCuadrupedo + " Tipo: " + this.tipo;
}

}

Código: [Seleccionar]
package claseCU00920C;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Random;

public class Programa {
public static void main(String[] args) {

List<Cuadrupedo> lc = new ArrayList<Cuadrupedo>();
Random r = new Random();
Cuadrupedo temp = null;
int totLeones = 0, totGatos = 0, totPerros = 0, totElefantes = 0;
String tipoTemp;
for (int i = 0; i < 10000; i++) {

switch (r.nextInt(4)) {
case 0:
tipoTemp = "León";
totLeones++;
break;
case 1:
tipoTemp = "Gato";
totGatos++;
break;
case 2:
tipoTemp = "Perro ";
totPerros++;
break;
default:
tipoTemp = "Elefante ";
totElefantes++;
break;
}

lc.add(new Cuadrupedo(i + 1, tipoTemp));
}

Iterator<Cuadrupedo> it = lc.iterator();

while (it.hasNext()) {
temp = it.next();
System.out.println(temp);

}

System.out.println("Resumen: hay " + totLeones + " Leones, " + totGatos + " Gatos, " + totPerros + " Perros y "
+ totElefantes + " Elefantes");

}

}


6
Paso a dejar mi solución al ejercicio CU00919C del tutorial pdf de programación Java avanzada, espero les sea de utilidad


Código: [Seleccionar]
package claseCU00919C;

public class Animal {
private String especie;
private String nombre;
private double peso;
private int patas;

public Animal(String pEspecie, String pNombre, double pPeso, int pPatas) {
this.especie = pEspecie;
this.nombre = pNombre;
this.peso = pPeso;
this.patas = pPatas;
}

public String toString() {
return "Especie: " + especie + ", Nombre: " + nombre + ", Peso: " + peso + ", patas: " + patas;
}

}


Código: [Seleccionar]
package claseCU00919C;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;

public class ListaDeAnimales {

private ArrayList<Animal> listaDeAnimales = null;

public ArrayList<Animal> getListaDeAnimales() {
return listaDeAnimales;
}

public ListaDeAnimales() {
this.listaDeAnimales = new ArrayList<Animal>();
}

public Iterator<Animal> iterator() {
return new MiIteradorDeAnimales();
}

public Iterator<Animal> retorna() {
return listaDeAnimales.listIterator();
}

public String toString() {
return listaDeAnimales.toString();
}

protected class MiIteradorDeAnimales implements Iterator<Animal> {

public int posicion = 0;
boolean permiteBorrar = false;

@Override
public boolean hasNext() {
return posicion < listaDeAnimales.size();
}

@Override
public Animal next() {
Animal aux = listaDeAnimales.get(posicion);
permiteBorrar = true;
posicion++;
return aux;
}

public void remove() {

listaDeAnimales.remove(posicion - 1);
posicion--;
permiteBorrar = false;
}

}

}


Código: [Seleccionar]
package claseCU00919C;

import java.util.Iterator;
import java.util.Scanner;

public class Programa {
public static void main(String[] args) {

Scanner entradaTeclado = new Scanner(System.in);

ListaDeAnimales la = new ListaDeAnimales();

la.getListaDeAnimales().add(new Animal("pantera", "Penelope", 98.55, 4));
la.getListaDeAnimales().add(new Animal("loro amazonico", "Juanito", 3.67, 2));
la.getListaDeAnimales().add(new Animal("perro grandanés", "Artur", 37.77, 4));
la.getListaDeAnimales().add(new Animal("mono de tanzania", "Monk", 55.32, 2));

Iterator<Animal> ita;

Animal tmp;
ita = la.iterator();
int elem = 0;
int elemElimina = 0;

System.out.println("Los animales en la lista son: ");

while (ita.hasNext()) {
tmp = ita.next();
System.out.println(tmp.toString() + ", numero: " + ++elem);
}

System.out.print("¿Que número desea eliminar? ");
elemElimina = entradaTeclado.nextInt();
elem = 0;

ita = la.retorna();

while (ita.hasNext()) {
tmp = ita.next();
if (elem + 1 == elemElimina) {
ita.remove();
elemElimina = 0;
} else {
System.out.println(tmp.toString() + ", numero: " + ++elem);
}
}

System.out.println();
}

}

7
Planteo mi solución al ejercicio CU00918C del tutorial pdf de programación Java avanzada de aprenderaprogramar, espero les sirva

saludos


Código: [Seleccionar]
package claseCU00918C;

import java.util.Scanner;

public class Estudiante implements Comparable<Estudiante> {
private String nombre;
private int edad;
private int curso;

public Estudiante(String pNombre, int pEdad, int pCurso) {
this.nombre = pNombre;
this.edad = pEdad;
setCurso(pCurso);
}

@Override
public int compareTo(Estudiante o) {
return this.nombre.compareTo(o.nombre);
}

public String toString() {
return "El estudiante se llama: " + nombre + " tiene: " + edad + " años y esta en el " + curso + " curso"
+ "\n";
}

public String getNombre() {
return nombre;
}

public int getEdad() {
return edad;
}

public int getCurso() {
return curso;
}

public void setCurso(int curso) {
Scanner entradaTeclado = new Scanner(System.in);
if (curso < 5 && curso > 0) {
this.curso = curso;
} else {
do {
System.out.println("El curso ingresado para el Estudiante " + this.nombre
+ " no es valido Ingrese un curso valido");
curso = entradaTeclado.nextInt();
} while (curso > 5 || curso < 0);
this.curso = curso;
}
}
}


Código: [Seleccionar]
package claseCU00918C;

import java.util.Comparator;

public class OrdenEstudiantePorEdad implements Comparator<Estudiante> {

@Override
public int compare(Estudiante o1, Estudiante o2) {
return o1.getEdad() - o2.getEdad() ;
}

}


Código: [Seleccionar]
package claseCU00918C;

import java.util.Comparator;

public class OrdenEstudiantePorCurso implements Comparator<Estudiante> {

@Override
public int compare(Estudiante o1, Estudiante o2) {
return o1.getCurso() - o2.getCurso();
}

}


Código: [Seleccionar]
package claseCU00918C;

/* Ejemplo Interface Comparator aprenderaprogramar.com */

import java.util.ArrayList;

import java.util.Collections;

public class Programa {

public static void main(String arg[]) {
ArrayList<Estudiante> listaEstudiantes = new ArrayList<Estudiante>();
listaEstudiantes.add(new Estudiante("Carlos", 19, 3));
listaEstudiantes.add(new Estudiante("Felipe", 21, 1));
listaEstudiantes.add(new Estudiante("Ana", 18, 4));
listaEstudiantes.add(new Estudiante("Rosa", 15, 1));
listaEstudiantes.add(new Estudiante("Jose", 10, 2));

System.out.println("Estudiantes sin orden: \n" + listaEstudiantes);
listaEstudiantes.toString();

Collections.sort(listaEstudiantes);
System.out.println("Estudiantes ordenados por Nombre: \n" + listaEstudiantes);
listaEstudiantes.toString();

Collections.sort(listaEstudiantes, new OrdenEstudiantePorEdad());
System.out.println("Estudiantes ordenados por Edad: \n" + listaEstudiantes);
listaEstudiantes.toString();

Collections.sort(listaEstudiantes, new OrdenEstudiantePorCurso());
System.out.println("Estudiantes ordenados por Curso: \n" + listaEstudiantes);
listaEstudiantes.toString();
}

}

8
Mi propuesta al ejercicio planteado CU00915C del curso de programación orientada a objetos avanzada con Java de aprenderaprogramar

Saludos

Código: [Seleccionar]
package claseCU00915C;

public class AvesEnZoo {
private String tipoDeAve;
private int numeroAves, numeroMachos, numeroHembras;

public AvesEnZoo(String pTipAve, int pNumAvez, int pNumMac, int pNumhem ) {
this.tipoDeAve = pTipAve;
this.numeroAves = pNumAvez;
this.numeroMachos = pNumMac;
this.numeroHembras = pNumhem;
}

public String ToString() {
return(this.tipoDeAve+" "+this.numeroAves+" "+this.numeroMachos+" "+this.numeroHembras);
}

}


Código: [Seleccionar]
package claseCU00915C;

import java.util.Iterator;

public class GruposDeAvesZoos implements Iterable<AvesEnZoo> {

public AvesEnZoo[] conjuntoAves;

public GruposDeAvesZoos(AvesEnZoo[] p) {
conjuntoAves = p;
}

@Override
public Iterator<AvesEnZoo> iterator() {
Iterator it = new MiIteratorAves();
return it;
}

protected class MiIteratorAves implements Iterator<AvesEnZoo> {

int posicionArray;

public MiIteratorAves() {
posicionArray = 0;
}

@Override
public boolean hasNext() {
// boolean result;
if (posicionArray < conjuntoAves.length) {
return true;
}
return false;
}

@Override
public AvesEnZoo next() {
posicionArray++;
return conjuntoAves[posicionArray - 1];
}

}

}


Código: [Seleccionar]
package claseCU00915C;

import java.util.Iterator;

public class Programa1 {
public static void main(String[] args) {
AvesEnZoo a1 = new AvesEnZoo("Aguilas  ", 35, 10, 25);
AvesEnZoo a2 = new AvesEnZoo("Pinguinos", 25, 10, 15);
AvesEnZoo a3 = new AvesEnZoo("Periquitos", 5, 3, 2);
AvesEnZoo a4 = new AvesEnZoo("Pinguinos", 100, 55, 45);
AvesEnZoo a5 = new AvesEnZoo("Halcones", 80, 25, 55);

AvesEnZoo[] ca = { a1, a2, a3, a4, a5 };
GruposDeAvesZoos gaz = new GruposDeAvesZoos(ca);

System.out.println("TIPO |TOTAL |MACHOS |HEMBRAS \n");
for (AvesEnZoo avesEnZoo : gaz) {

System.out.println(avesEnZoo.ToString());
}
}

}

9
Dejo mi solución al ejercicio CU00913C del curso pdf de programación avanzada Java, espero cualquier critica u observación. Gracias.

Código: [Seleccionar]
package claseCU00913C;

public class Persona1 implements Comparable<Persona1> {
private String nombre;
private int edad;
private int altura;

public Persona1() {
};

public Persona1(String pNombre, int pAltura, int pEdad) {
this.setNombre(pNombre);
this.edad = pEdad;
this.altura = pAltura;
}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public int getEdad() {
return edad;
}

public void setEdad(int edad) {
this.edad = edad;
}

public int getAltura() {
return altura;
}

public void setAltura(int altura) {
this.altura = altura;
}

@Override
public int compareTo(Persona1 o) {
return this.edad > o.edad ? 1 : 0;
}

public int compareToAltura(Persona1 o) {
return this.altura < o.altura ? 1 : 0;
}

public String toString() {
return this.nombre + " - Altura: " + altura + " - Edad: " + edad;
}

}
Código: [Seleccionar]
package claseCU00913C;

public class OrdenaLista {

public OrdenaLista() {

}

public void OrdenaAltura(Persona1[] pPersonas) {
for (int i = 0; i < pPersonas.length - 1; i++) {
Persona1 aux = new Persona1();
for (int j = 0; j < pPersonas.length - 1; j++) {
if (pPersonas[j].compareToAltura(pPersonas[j + 1]) == 1) {
aux = pPersonas[j];
pPersonas[j] = pPersonas[j + 1];
pPersonas[j + 1] = aux;
}
}
}
}

public void OrdenaEdad(Persona1[] pPersonas) {
for (int i = 0; i < pPersonas.length - 1; i++) {
Persona1 aux = new Persona1();
for (int j = 0; j < pPersonas.length - 1; j++) {
if (pPersonas[j].compareTo(pPersonas[j + 1]) == 1) {
aux = pPersonas[j];
pPersonas[j] = pPersonas[j + 1];
pPersonas[j + 1] = aux;
}
}
}
}

public void imprime(Persona1[] personas) {
int cont = 0;

for (Persona1 persona : personas) {
cont += 1;
System.out.println(cont + ". " + persona.toString());
}
System.out.println("\n");
}

}
Código: [Seleccionar]
package claseCU00913C;

public class Programa1 {
public static void main(String[] args) {

Persona1 personas[] = new Persona1[5];
OrdenaLista listaOrdenada;

personas[0] = new Persona1("Mario", 187, 22);
personas[1] = new Persona1("Pepe", 173, 52);
personas[2] = new Persona1("Manuel", 158, 27);
personas[3] = new Persona1("David", 164, 25);
personas[4] = new Persona1("Alberto", 184, 80);
listaOrdenada = new OrdenaLista();

System.out.println("Personas sin ordenar \n");
listaOrdenada.imprime(personas);

listaOrdenada.OrdenaAltura(personas);
System.out.println("Personas ordenadas por altura \n");
listaOrdenada.imprime(personas);

listaOrdenada.OrdenaEdad(personas);
System.out.println("Personas ordenadas por edad \n");
listaOrdenada.imprime(personas);
}
}

10
Buenas tardes, dejo mi solución al ejercicio CU00912C del curso pdf de programación avanzada Java.

Saludos

Código: [Seleccionar]
package claseCU00912C;

public class Cadena12Caracteres implements Cloneable {

private String cad1, cad2,cad3,cad4;

public void setCad1(String cad1) {
this.cad1 = cad1;
}

public void setCad2(String cad2) {
this.cad2 = cad2;
}

public void setCad3(String cad3) {
this.cad3 = cad3;
}

public void setCad4(String cad4) {
this.cad4 = cad4;
}

public Cadena12Caracteres(String pCad1,String pCad2,String pCad3,String pCad4) {

this.cad1 = pCad1;
this.cad1 = pCad1;
this.cad2 = pCad2;
this.cad3 = pCad3;
this.cad4 = pCad4;

}

public Cadena12Caracteres clone() {
Cadena12Caracteres clonado = new Cadena12Caracteres(cad1, cad2, cad3, cad4);
return clonado;
}

public String toString() {
return  this.cad1+this.cad2+this.cad3+this.cad4;
}

}


Código: [Seleccionar]
package claseCU00912C;

public class EjercicioCU00912C {
public static void main(String[] args) {

char[] pchar = new char[12];
String cadenaCeros = new String(pchar).replace("\0", "0");
String cadenaUnos = new String(pchar).replace("\0", "1");


Cadena12Caracteres c1;

c1 = new Cadena12Caracteres(cadenaCeros, cadenaCeros, cadenaCeros, cadenaCeros);
Cadena12Caracteres c2 = c1.clone();
Cadena12Caracteres c3 = c1.clone();
Cadena12Caracteres c4 = c1.clone();
Cadena12Caracteres c5 = c1.clone();

c2.setCad1(cadenaUnos);
c3.setCad2(cadenaUnos);
c4.setCad3(cadenaUnos);
c5.setCad4(cadenaUnos);

System.out.println(c1.toString());
System.out.println(c2.toString());
System.out.println(c3.toString());
System.out.println(c4.toString());
System.out.println(c5.toString());

}
}


11
Respuesta para el ejercicio CU00911C del tutorial de programación avanzada Java de aprenderaprogramar.

Citar
EJERCICIO

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.

El problema con el uso de StringBuilder en la ejecución de multihilos es que al no ser sincronizado, en diferentes ejecuciones puede darse el caso que los cambios generados a la cadena no se realicen en el orden que deseamos, y un hilo realice un cambio antes de lo que se esperaba produciendo inconsistencia en el resultado final, lo cual no sucede si la ejecución es como una variable local, en el cual no importa la sincronización

12
Buenos días a continuación dejo el codigo de los dos ejercicios planteados en la clase CU00909C del tutorial de programación pdf Java avanzado.

Ejercicio 1

Código: [Seleccionar]
package claseCU00908C;

import java.util.Random;
import java.util.Scanner;

public class EjercicioCU00909C1 {
public static void main(String[] args) {

int numA, numB;
int pGanadas=0, pPerdidas=0;
Scanner entradaTeclado = new Scanner(System.in);
Random rnd = new Random();
char seleccion;
boolean valida = false;
do {
do {
numA = (int)(rnd.nextDouble()*11);
numB = (int)(rnd.nextDouble()*11);
}while(numA==numB);

System.out.print("Apuestas por A o por B ? :");
do {
seleccion = entradaTeclado.next().toUpperCase().charAt(0);
if((seleccion == 'A') || (seleccion == 'B')) {
valida = true;
}else {
System.out.print("Elija opcion valida por A o por B ? ");
}
}while(!valida);

System.out.print("A saca un " + numA + " y B saca un " + numB);
if(seleccion =='A' && (numA > numB) || seleccion =='B' && (numB > numA) ) {
System.out.println(" HAS GANADO!!!");
pGanadas+=1;
}else {
System.out.println(" HAS PERDIDO!!!");
pPerdidas+=1;
}

System.out.println("Llevas " + pGanadas + " partidas ganadas y " + pPerdidas + " partidas perdidas");

System.out.print("Quieres probar otra vez ? (S/N) : ");
} while(entradaTeclado.next().toUpperCase().equals("S"));
}
}

Ejercicio 2
Código: [Seleccionar]
package claseCU00908C;

import java.util.Random;
import java.util.Scanner;

public class EjercicioCU00909C2 {

static Scanner entradaTeclado = new Scanner(System.in);

public static void main(String[] args) {
int[] numerosUsuario = new int[6];
int[] numerosGanadores = new int[6];

do {

System.out.println("Elije 6 numero entre el 1 y el 49");
creaNumeros(numerosUsuario, numerosGanadores);

System.out.print("Numero Elejidos : ");
imprimeNumeros(numerosUsuario);

System.out.print("Combinacion ganadora :");
imprimeNumeros(numerosGanadores);

verificaAciertos(numerosUsuario, numerosGanadores);

System.out.print("Quieres probar otra vez? (S/N): ");
} while(entradaTeclado.next().toUpperCase().equals("S"));

System.out.println("Adios");

}

public static void creaNumeros(int[] pNumerosUsuario, int[] pNumerosGanadores) {

Random rnd = new Random();
for (int i = 0; i < pNumerosUsuario.length; i++) {
System.out.print("Elije el numero " + (i+1) + ": ");
pNumerosUsuario[i] = entradaTeclado.nextInt();

while((pNumerosUsuario[i] < 1) || (pNumerosUsuario[i] > 49)) {
System.out.print("El numero esta fuera de rango, elije otro: ");
pNumerosUsuario[i] = entradaTeclado.nextInt();
}

for (int j = 0; j < i; j++) {
while((pNumerosUsuario[j]==pNumerosUsuario[i])) {
System.out.print("El numero ya esta ingresado, elije otro: ");
pNumerosUsuario[i] = entradaTeclado.nextInt();
}
}

pNumerosGanadores[i] = (int) (rnd.nextDouble()*50);
//System.out.println(pNumerosGanadores[i]);
}
}

public static void imprimeNumeros(int[] pListaNumeros) {
for (int i = 0; i < pListaNumeros.length; i++) {
System.out.print(pListaNumeros[i] + " ");
}
System.out.println();
}

public static void verificaAciertos(int[] pNumerosUsuario, int[] pNumerosGanadores) {
int aciertos = 0;
for (int i = 0; i < pNumerosGanadores.length; i++) {
for (int j = 0; j < pNumerosUsuario.length; j++) {
if(pNumerosGanadores[i] == pNumerosUsuario[j]) {
aciertos += 1;
}
}
}
System.out.println("Has acertado: " + aciertos + " números");
}
}

Saludos

13
Dejo mi solución al ejercicio de generación de numeros aleatorios con random CU00908C del currso avanzado de programación Java. Si tienen que criticar critiquen, pero digan algo constructivo por favor :)

Código: [Seleccionar]
package claseCU00908C;

import java.util.Random;
import java.util.Scanner;;

public class EjercicioCU00908C {

public static void main(String args[]) {

int rangoIni, rangoFin, numIntentos, numUsuario;
Random rnd = new Random();
int intento = 0;

boolean encontrado = false;

Scanner entradaTeclado = new Scanner(System.in);

do {
int aciertos = 0;
int noAciertos = 0;
System.out.print("Introduce el numero inicial del rango: ");
rangoIni = entradaTeclado.nextInt();

System.out.print("Introduce el numero final del rango: ");
rangoFin = entradaTeclado.nextInt();

System.out.print("Introduce el número de intentos: ");
numIntentos = entradaTeclado.nextInt();

int[] numAleatorios = new int[numIntentos];

for (int i = 0; i < numIntentos; i++) {
numAleatorios[i] = (int) (rnd.nextDouble() * (rangoFin - rangoIni) + rangoIni);

//System.out.println(numAleatorios[i]);

System.out.print("¿Qué numero estoy pensando?: ");
numUsuario = entradaTeclado.nextInt();
if (numAleatorios[i] != numUsuario) {
System.out.println("No has acertado ");
noAciertos += 1;
} else {
System.out.println("Has acertado ");
encontrado = true;
aciertos += 1;
}
}

if (!encontrado) {
System.out.print(
"Has acertado " + aciertos + " veces y has fallado " + noAciertos + " veces. Eran solución: ");
for (int i = 0; i < numAleatorios.length; i++) {
System.out.print(numAleatorios[i] + ",");
}
System.out.println();
} else {
System.out.print(
"Has acertado " + aciertos + " veces y has fallado " + noAciertos + " veces. Eran solución: ");
for (int i = 0; i < numAleatorios.length; i++) {
System.out.print(numAleatorios[i] + ",");
}
System.out.println();
}

System.out.print("Quieres probar otra vez ? (S/N): ");

} while (entradaTeclado.next().equals("S"));
}

}

14
Dejo mi solución propuesta para el ejercicio CU00907C del curso de programación Java avanzada de aprenderaprogramar


Código: [Seleccionar]
package claseCU00907C;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Scanner;

public class ejercicioCU00907C {
public static void main(String[] args) {
Scanner entradaTeclado = new Scanner(System.in);
double importeInicial;
double porcentajeImpuesto;
System.out.println("Por favor introduzca el importe inicial: ");
importeInicial = entradaTeclado.nextDouble();
System.out.println("Por favor introduzca el porcentaje de impuestos: ");
porcentajeImpuesto = entradaTeclado.nextDouble();
System.out.println("El impuesto a pagar es: " + BigDecimal.valueOf(importeInicial *porcentajeImpuesto/100).setScale(2, RoundingMode.CEILING));
System.out.println("El importe final es: " + BigDecimal.valueOf(importeInicial).add(BigDecimal.valueOf(importeInicial *porcentajeImpuesto/100).setScale(2, RoundingMode.CEILING)));
}

}

15
Mi solución al ejercicio CU00906C del curso pdf de programación java avanzada de aprenderaprogramar

Código: [Seleccionar]
package claseCU00906C;

import java.util.Scanner;

public class Ejercicio {
public static void main(String[] args) {
Scanner entradaTeclado = new Scanner(System.in);
double segundos = 0;
boolean continuar = true;
while (continuar ) {
System.out.println("Introduzca valor de segundos: ");
segundos = entradaTeclado.nextInt();
System.out.println("El minuto es el " + (int) Math.ceil(90*segundos/5400));
System.out.print("¿Otro valor (s/n)? " );
if (entradaTeclado.next().charAt(0)!='s') {
continuar = false;
}
}
}
}

16
Dejo mi solución propuesta para el ejercicio CU00905C del tutorial de programación Java avanzado de aprenderaprogramar

Código: [Seleccionar]
import java.util.Scanner;

public class ejercicioCU00905C {
public static void main(String[] args) {
String[][] paisCiudad = new String[4][4];
Scanner entradaTeclado = new Scanner(System.in);

for (int i = 0; i < paisCiudad.length; i++) {
System.out.print("Ingrese el nombre de un país: ");
for (int j = 1; j < paisCiudad[i].length; j++) {
if (j==1) {
paisCiudad[i][j-1] = entradaTeclado.nextLine();
}
System.out.print("Ingrese una ciudad de " + paisCiudad[i][0] +": ");
paisCiudad[i][j] = entradaTeclado.nextLine();
}
}

for (int i = 0; i < paisCiudad.length; i++) {
System.out.print("País: ");
for (int j = 0; j < paisCiudad[0].length; j++) {
if(j==0) {
System.out.print(paisCiudad[i][j] + " Ciudades: ");
}else {
System.out.print(paisCiudad[i][j] + " ");
}
}
System.out.println();
}
}
}

17
Dejo mi propuesta de solución para el ejercicio CU00904C del curso de programación avanzada Java de aprenderaprogramar

Saludos

Código: [Seleccionar]
package claseCU00904C;

import java.util.Scanner;

public class caracterDNI {
public static void main(String[] args) {

Scanner entradaTeclado = new Scanner(System.in);
int dniBase;
System.out.print("Introduzca numero Base DNI: ");
dniBase = entradaTeclado.nextInt();
System.out.println("El DNI es: " + dniBase + obtenerLetra(dniBase));
}

static char obtenerLetra(int pNumeroDNI){
final char[] letra =  {'T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E'};
return(letra[pNumeroDNI%letra.length]);

}

}

18
No encontré un foro especifico del curso Lenguaje programación Java Nivel Avanzado I de aprenderaprogramar, así que dejo mis ejercicio por aquí a ver si alguien me da una opinión, saludos

EJERCICIO 1

Código: [Seleccionar]
package claseCU00903C;
import java.util.Scanner;

public class arrayNumericoClaseCU00903C {
public static void main(String[] arg) {
int[] listaNum = new int[5];
Scanner entradaTeclado = new Scanner(System.in);
for (int i = 0; i < listaNum.length; i++) {
System.out.print("Ingrese un numero : ");
listaNum[i] = entradaTeclado.nextInt();
}
for (int i = 0; i < listaNum.length; i++) {

System.out.println("En el indice " + i + " esta el valor " + listaNum[i]);
}
}
}

EJERCICIO 2

Código: [Seleccionar]
package claseCU00903C;
import java.util.Scanner;

public class alumnosNotasClaseCU00903 {
public static void main(String[] args) {
double[] notas = new double[2];
String[] nombres = new String[2];
String[] notaLetras = new String[2];
Scanner entradaTeclado = new Scanner(System.in);

for (int i = 0; i < notas.length; i++) {
System.out.print("Ingrese el nomnbre del alumno: "  );
nombres[i] = entradaTeclado.next();
System.out.println();
do {
System.out.print("Ingrese una nota valida para el alumno: ");
notas[i] = entradaTeclado.nextDouble();
System.out.println();
} while (notas[i] < 0f || notas[i] > 10f );

if(notas[i] < 4.99) {
notaLetras[i] = "Suspenso";
}else if(notas[i] < 6.99){
notaLetras[i] = "Bien";
}else if(notas[i] < 8.99){
notaLetras[i] = "Notable";
}else {
notaLetras[i] = "Sobresaliente";
}
}
for (int i = 0; i < notas.length; i++) {
System.out.println("El alumno " + nombres[i] + " Tiene una nota de: " + notas[i] + " Equivalente a " + notaLetras[i]);
}
}
}

19
Hola buenos días, dejo planteada mi propuesta de solución al ejercicio CU00697B del curso elemental de programación Java desde cero de aprenderaprogramar.


Interface Instalacion_Deportiva

Código: [Seleccionar]
package claseCU00697B;
public interface Instalacion_Deportiva {
public int getTipoDeInstalacion();
}


Interface Edificio

Código: [Seleccionar]
package claseCU00697B;
public interface Edificio {
public double getSuperficieEdificio();
public int getNumeroDeOficinas();
}


Clase Construccion

Código: [Seleccionar]
package claseCU00697B;
public class Construccion implements Instalacion_Deportiva, Edificio{
private int tipoInstalacion;
private String nombreInstalacion;
private double superficieEdificio;
private int numeroDeOficinas;

//Constructor para Polideportivos
public Construccion(int pTipoInstalcion, double pSuperficieEdificio, String pNombreInstalacion) {
this.tipoInstalacion = pTipoInstalcion;
this.superficieEdificio = pSuperficieEdificio;
this.nombreInstalacion = pNombreInstalacion;
}

//Constructor para edificios
public Construccion(int pTipoInstalcion, double pSuperficieEdificio, String pNombreInstalacion, int pNumeroDeOficinas) {
this.tipoInstalacion = pTipoInstalcion;
this.superficieEdificio = pSuperficieEdificio;
this.nombreInstalacion = pNombreInstalacion;
this.numeroDeOficinas = pNumeroDeOficinas;
}

public int getTipoDeInstalacion() {
return this.tipoInstalacion;
};

public String getNombreInstalacion() {
return this.nombreInstalacion;
};

public double getSuperficieEdificio() {
return this.superficieEdificio;
}

public int getNumeroDeOficinas() {
return this.numeroDeOficinas;
}
}


Clase TestConstruccion

Código: [Seleccionar]
package claseCU00697B;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class TestConstruccion {
public static void main(String[] args) {
List<Construccion> listaEdificios;
listaEdificios = new ArrayList<Construccion>();

listaEdificios.add(new Construccion(1,320.5,"Coliseo Balonescto"));
listaEdificios.add(new Construccion(1,500,"Piscina Olimpica"));
listaEdificios.add(new Construccion(1, 435, "Coliseo Bolleyball"));
listaEdificios.add(new Construccion(2, 800, "Administracion", 16));
listaEdificios.add(new Construccion(2, 500, "Capacitacion", 10));

Iterator<Construccion> it = listaEdificios.iterator();
Construccion tmpConstruccion;
while(it.hasNext()){
tmpConstruccion = it.next();
System.out.println("Analizando construcción: ");
if(tmpConstruccion.getTipoDeInstalacion() == 1) {
System.out.print("Polideportivo ");
}else {
System.out.print("Edificio de " + tmpConstruccion.getNumeroDeOficinas() + " Oficinas, ");
}
System.out.println("Tiene una superficio de " + tmpConstruccion.getSuperficieEdificio() + "y se identifica como " + tmpConstruccion.getNombreInstalacion());
}
}
}

20
Dejo planteada mi solución, al tema CU00695B del manual de programación Java desde cero con ejercicios resueltos.

Código: [Seleccionar]
package claseCU00695B;

public class Persona { // Código de la clase Persona ejemplo aprenderaprogramar.com

private String nombre;
private String apellidos;
private int edad;

public Persona() {
nombre = "";
apellidos = "";
edad = 0;
}

public Persona(String nombre, String apellidos, int edad) {
this.nombre = nombre;
this.apellidos = apellidos;
this.edad = edad;
}

public String getNombre() {
return nombre;
}

public String getApellidos() {
return apellidos;
}

public int getEdad() {
return edad;
}

public String toString() {
Integer datoEdad = edad;

return "-Nombre: ".concat(nombre).concat(" -Apellidos: ").concat(apellidos).concat(" -Edad: ")
.concat(datoEdad.toString());
}

} // Cierre de la clase

Código: [Seleccionar]
package claseCU00695B;

public abstract class Legislador extends Persona {
private String provinciaQueRepresenta;
protected String camaraEnQueTrabaja;

public Legislador(String pProvinciaQueRepresenta, String pCamaraEnQueTrabaja) {
setProvinciaQueRepresenta(pProvinciaQueRepresenta);
setCamaraEnQueTrabaja(pCamaraEnQueTrabaja);
}

public Legislador(String nombre, String apellidos, int edad, String pProvinciaQueRepresenta, String pCamaraEnQueTrabaja) {
super(nombre, apellidos, edad);
setProvinciaQueRepresenta(pProvinciaQueRepresenta);
setCamaraEnQueTrabaja(pCamaraEnQueTrabaja);
}

public String getProvinciaQueRepresenta() {
return provinciaQueRepresenta;
}

public void setProvinciaQueRepresenta(String provinciaQueRepresenta) {
this.provinciaQueRepresenta = provinciaQueRepresenta;
}

public void setCamaraEnQueTrabaja(String camaraEnQueTrabaja) {
this.camaraEnQueTrabaja = camaraEnQueTrabaja;
}

public abstract String getCamaraEnQueTrabaja();

public String toString() {
return super.toString().concat(" Representa a la provincia: ").concat(getProvinciaQueRepresenta());
}

}

Código: [Seleccionar]
package claseCU00695B;

public class Diputado extends Legislador {

public Diputado(String pProvinciaQueRepresenta, String pCamaraEnQueTrabaja) {
super(pProvinciaQueRepresenta, pCamaraEnQueTrabaja);

}

public Diputado(String nombre, String apellidos, int edad, String pProvinciaQueRepresenta, String pCamaraEnQueTrabaja) {
super(nombre, apellidos, edad, pProvinciaQueRepresenta, pCamaraEnQueTrabaja);

}

@Override
public String getCamaraEnQueTrabaja() {
return camaraEnQueTrabaja;
}

public String toString() {
return super.toString().concat(" Trabaja en la camara: ").concat(getCamaraEnQueTrabaja());
}

}

Código: [Seleccionar]
package claseCU00695B;

public class Senador extends Legislador {

public Senador(String pProvinciaQueRepresenta, String pCamaraEnQueTrabaja) {
super(pProvinciaQueRepresenta, pCamaraEnQueTrabaja);

}

public Senador(String nombre, String apellidos, int edad, String pProvinciaQueRepresenta,
String pCamaraEnQueTrabaja) {
super(nombre, apellidos, edad, pProvinciaQueRepresenta, pCamaraEnQueTrabaja);

}

@Override
public String getCamaraEnQueTrabaja() {

return camaraEnQueTrabaja;
}

public String toString() {
return super.toString().concat(" Trabaja en la camara: ").concat(getCamaraEnQueTrabaja());
}

}

Código: [Seleccionar]
package claseCU00695B;

import java.util.ArrayList;

public class ListinLegisladores {

private ArrayList<Legislador> listinLegisladores;

public ListinLegisladores() {
listinLegisladores = new ArrayList<Legislador>();
} // Constructor

public void addLegislador(Legislador pLegislador) {
listinLegisladores.add(pLegislador);
} // Método

public void imprimirListin() {
String tmpStr1;
System.out.println("Se muestra el listado de los legisladores existentes: ");

for (Legislador legislador : listinLegisladores) {
System.out.println(legislador.toString());
if(legislador instanceof Diputado) {
tmpStr1 = "Diputado";
} else {
tmpStr1 = "Senador";
}

System.out.println("-Tipo de Legislador " + tmpStr1.concat(" Trabaja en la camara ").concat(legislador.camaraEnQueTrabaja));
}

}



}

Código: [Seleccionar]
package claseCU00695B;

public class TestLegisladores {
public static void main(String[] args) {

String provinciaQueRepresenta;
String camaraEnQueTrabaja;

//Variables que uso para simplificar el ingreso de datos
provinciaQueRepresenta = "Pichincha";
camaraEnQueTrabaja = "Cultura";

Legislador d1 = new Diputado("José", "Hernández López", 45, provinciaQueRepresenta, camaraEnQueTrabaja);

Legislador d2 = new Diputado("Andrés", "Moltó Parra", 87, provinciaQueRepresenta, camaraEnQueTrabaja);

Legislador d3 = new Diputado("José", "Ríos Mesa", 76, provinciaQueRepresenta, camaraEnQueTrabaja);

Legislador s1 = new Senador("Juan", "Pérez Pérez", 49, provinciaQueRepresenta, camaraEnQueTrabaja);

Legislador s2 = new Senador("Alberto", "Centa Mota", 49, provinciaQueRepresenta, camaraEnQueTrabaja);

Legislador s3 = new Senador("Alberto", "Centa Mota", 49, provinciaQueRepresenta, camaraEnQueTrabaja);

ListinLegisladores listaLegisladores = new ListinLegisladores();

listaLegisladores.addLegislador(s3);
listaLegisladores.addLegislador(s2);
listaLegisladores.addLegislador(s1);
listaLegisladores.addLegislador(d3);
listaLegisladores.addLegislador(d1);
listaLegisladores.addLegislador(d2);

listaLegisladores.imprimirListin();

}

}

Páginas: [1] 2

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