Ejercicios 1, 2, 3

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

Solución Ejercicio 1:

a) Constructor Fraccion(int numerador, int denominador):

public Fraccion(int numerador, int denominador) {

this.numerador = numerador;

this.denominador = denominador;

b) Método de instancia void imprimir():

public void imprimir() {

System.out.println(numerador + "/" + denominador);

Crear una instancia de Fraccion y llamar a imprimir():

Fraccion f = new Fraccion(2, 3);

f.imprimir(); // Imprime "2/3" en la consola

c) Método de instancia void invertirSigno():

public void invertirSigno() {

numerador = -numerador;

d) Método de instancia void invertir():

public void invertir() {

int temp = numerador;

numerador = denominador;

denominador = temp;

e) Método de instancia double aDouble():

public double aDouble() {

return (double) numerador / denominador;

}
f) Método de instancia void reducir():

public void reducir() {

int mcd = calcularMCD(numerador, denominador);

numerador /= mcd;

denominador /= mcd;

private int calcularMCD(int a, int b) {

if (b == 0) {

return a;

} else {

return calcularMCD(b, a % b);

g) Método de clase static Fraccion producto(Fraccion q1, Fraccion q2):

public static Fraccion producto(Fraccion q1, Fraccion q2) {

int nuevoNumerador = q1.numerador * q2.numerador;

int nuevoDenominador = q1.denominador * q2.denominador;

int mcd = calcularMCD(nuevoNumerador, nuevoDenominador);

return new Fraccion(nuevoNumerador / mcd, nuevoDenominador / mcd);

La palabra clave static es necesaria en este caso porque el método producto no necesita
acceder a ninguna variable de instancia de la clase Fraccion, sino que recibe los objetos
Fraccion como parámetros.

h) Método de clase static Fraccion suma(Fraccion q1, Fraccion q2):

public static Fraccion suma(Fraccion q1, Fraccion q2) {

int nuevoNumerador = q1.numerador * q2.denominador + q2.numerador *


q1.denominador;

int nuevoDenominador = q1.denominador * q2.denominador;

int mcd = calcularMCD(nuevoNumerador, nuevoDenominador);

return new Fraccion(nuevoNumerador / mcd, nuevoDenominador / mcd);


}

Solución Ejercicio 2:

a) Constructor Punto():

public Punto() {

x = 0;

y = 0;

b) Constructor Punto(double x, double y):

public Punto(double x, double y) {

this.x = x;

this.y = y;

c) Método void imprimir():

public void imprimir() {

System.out.println("(" + x + ", " + y + ")");

d) Método de instancia void desplazar(double desp_x, double desp_y):

public void desplazar(double desp_x, double desp_y) {

x += desp_x;

y += desp_y;

``

Ejercicio 3

El constructor Persona(String nombre, int edad) se escribiría de la siguiente manera:

public Persona(String nombre, int edad) {

this.nombre = nombre;

this.edad = edad;

b) El método de instancia masJovenQue(Persona otro) se escribiría de la siguiente manera:

public boolean masJovenQue(Persona otro) {


return this.edad < otro.edad;

c) El método de instancia tocayo(Persona otro) se escribiría de la siguiente manera:

public boolean tocayo(Persona otro) {

return this.nombre.equals(otro.nombre);

d) El método de instancia mismaPersona(Persona otro) se escribiría de la siguiente manera:

public boolean mismaPersona(Persona otro) {

return this.nombre.equals(otro.nombre) && this.edad == otro.edad;

e) Si se agrega la variable de instancia int DNI, el método del punto anterior no sería correcto
ya que solo estaría comparando el DNI y no la información completa de la persona. En algunos
contextos, podría ser válido tener un método que solo compare los DNI de las personas, por
ejemplo, si se quisiera verificar si dos personas tienen el mismo DNI sin importar su nombre o
edad. Pero en general, es más útil comparar toda la información de la persona para determinar
si son la misma persona. Si se quisiera agregar la variable DNI, se podría modificar la clase
Persona para incluirlo y luego ajustar los métodos para tener en cuenta esta nueva
información.

También podría gustarte