Soluciones compartidas en el sitio classroom del curso…
Ejercicio A
Modelar el objeto Círculo, cuyos objetos representan círculos en el plano. La clase dispone del siguiente constructor y de los siguientes métodos de instancia:
1) public Círculo(double r): constructor para crear un objeto Círculo que representa un círculo de radio r (recuerde que el tipo double indica números reales).
2) public double diámetro(): método que devuelve el diámetro del círculo representado por el objeto receptor.
3) public double perímetro(): método que devuelve el perímetro del círculo representado por el objeto receptor.
4) public double área(): método que devuelve el área del círculo representado por el objeto receptor.
5) public Círculo sumaRadio(Círculo c): método que devuelve un nuevo objeto Círculo cuyo radio es la suma de los radios de los círculos representados por el objeto receptor y el objeto c.
Escribir una clase de nombre UsoCírculo, que solo tenga el método especial main. Dicho método debe realizar estas acciones:
1. Hacer que el usuario ingrese a través del teclado los radios r1 y r2 de dos círculos en el plano.
2. Crear dos objetos Círculo, c1 y c2, de radio respectivamente r1 y r2.
3. Imprimir en la salida estándar el diámetro, el perímetro y el área de los círculos representados por c1 y c2.
4. Crear un tercer objeto Círculo c3, que represente un círculo de radio igual a la suma de los radios de los círculos representados por c1 y c2.
5. Imprimir en la salida estándar el diámetro, el perímetro y el área del círculo representado por c3.
Al final de la escritura de la clase, compilarla y ejecutarla varias veces, probando a variar los datos de entrada solicitados por el programa.

Ejercicio B
Modelar un objeto llamado ManipuladorCadena que representa una cadena y dispone de algunos métodos para manipularla. El constructor y los métodos de instancia de la clase son los siguientes:
1. public ManipuladorCadena(String s): constructor para crear un objeto ManipuladorCadena que representa la cadena s.
2. public String invertir(): método que devuelve una nueva cadena obtenida invirtiendo la cadena representada por el objeto receptor (es decir, leyendo sus caracteres de derecha a izquierda).
3. public String eliminarEspacios(): método que devuelve una nueva cadena obtenida eliminando los espacios en blanco de la cadena representada por el objeto receptor.
4. public String concatenarCon(String s): método que devuelve una nueva cadena obtenida concatenando (es decir, juntando) la cadena representada por el objeto receptor con la cadena s.
Escribir una clase de nombre UsoManipuladorCadena, que solo tenga el método especial main. Dicho método debe realizar estas acciones:
1. Hacer que el usuario ingrese cualquier cadena str.
2. Crear un objeto ms de la clase ManipuladorCadena que representa la cadena str.
3. Usando los métodos de ms, visualizar al usuario en una ventana gráfica la cadena str leída de derecha a izquierda y luego la cadena str limpia de espacios en blanco y repetida dos veces. La repetición de la cadena debe realizarse a través del método concatenarCon(..).
Por ejemplo, si el usuario ingresara la cadena hola mundo, el programa debería visualizar los siguientes mensajes:
cadena invertida: odnom oaic
cadena sin espacios y repetida dos veces: holamundoholamundo