Está en la página 1de 16

Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

Ejercicios 2.2.
Objetivo:
● Crear clases
● Crear y sobre cargar constructores (Constructor overloading)
● Crear y sobrecargar métodos
● Pasar objetos como parámetros
● Usar notación punto (.)
● Retornar objetos
● Instanciar clases e invocar métodos

1. Considere el caso de una clase denominada Tiempo, que se orienta a guardar atributos relacionados con
el pronóstico del tiempo. Los atributos requeridos son la temperatura y las condiciones del cielo (que
pueden ser soleado, nevado, nublado o lluvioso)
a. Incluya un constructor por default y un constructor para inicializar todos los atributos.
b. Incluya métodos get (accessors methods), y métodos set (mutators methods)
c. Incluya un método toString
d. La temperatura debe mostrarse tanto en grados Celsius como en grados Fahrenheit (la
temperatura debe estar entre –50 y +150, el valor predeterminado es 70
e. Por default los días son soleados
f. Incluya un método que convierta de Fahrenheit a Celsius [Celsius = (temperatura Fahrenheit - 32)
* 5 / 9]
g. Incluya métodos de alerta para determinar los siguientes casos: Cuando la temperatura es
superior a 32 y está nevando, y cuando la temperatura está por debajo de 32 y está lluvioso.
h. Incluya una clase adicional en la que se muestre la operación de todo lo anterior
i. Incluya el código de cada clase:

Principal

Código

public class Principal {

public static void main(String[] args) {


Tiempo tiempo1 = new Tiempo(35, "nevando");
Tiempo tiempo2 = new Tiempo(30, "lluvioso");
Tiempo tiempo3 = new Tiempo();
tiempo1.viewAll();
tiempo2.viewAll();
tiempo3.viewAll();
}

Tiempo

Código

import javax.swing.JOptionPane;

public class Tiempo {


private double TempF = 70;
private double TempC = 0;
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

private String Condiciones = "Soleado";


private String Alerta = "Sin Alertas";

//CONSTRUCTOR
public Tiempo(double TempF, String Condiciones) {
this.TempF = TempF;
this.Condiciones = Condiciones;
}

public Tiempo() {
this.TempF = 70;
this.Condiciones = "Soleado";
}

//METODOS SET
public void setTempF(double TempF) {
this.TempF = TempF;
}

public void setCondiciones(String Condiciones) {


this.Condiciones = Condiciones;
}

public void setTempC(double TempC) {


this.TempC = TempC;
}

public void setAlerta(String Alerta) {


this.Alerta = Alerta;
}

//METODOS GET
public double getTempF() {
return TempF;
}

public String getCondiciones() {


return Condiciones;
}

public double getTempC(double TempF) {


this.TempF = TempF;
TempC = ((TempF-32)*5)/9;
return TempC;
}

public String getAlerta() {


if(TempF>32 & "nevando".equals(Condiciones)){
Alerta = "Alerta, temperatura superior a 32 y nevando";
}else if(TempF<32 & "lluvioso".equals(Condiciones)){
Alerta = "Alerta, temperatura inferior a 32 y lloviendo";
}else{
Alerta = "Sin Alertas";
}
return this.Alerta;
}

//ToString
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

@Override
public String toString() {
return "TIEMPO\nTemperatura: (" + TempF + "°F) ("+getTempC(TempF)+"°C)"+
"\nCondiciones: " + Condiciones +
"\nAlerta: " + getAlerta();
}

public void viewAll(){


JOptionPane.showMessageDialog(null, toString());
}

}
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

2. Escriba una clase para un radio, el radio debe tener el estado de encendido o apagado, y en el caso de
encendido debe indicarse la estación que está sintonizando, en el caso de apagado la estación que
sintoniza debe estar en cero (0). Cuando exista un cambio de estado, despliega el estado y su
correspondiente figura.
a. Incorpore un constructor con parámetros que permita establecer el estado de encendido y una
estación inicial.
b. Incorpore un constructor sin parámetros (argumentos) donde el estado inicial sea encendido y la
estación inicial sea uno (01).
c. Cuando visualice el estado del radio utilice las siguientes representaciones.

encendido apagado

╔═══╗ ♪ ╔═══╗
║███║ ♫ ║ ║
║ (●) ♫ ║ (●)
╚═══╝♪♪ ╚═══╝
ENCENDIDO APAGADO
ESTACIÓN: 3.1416 AM ESTACIÓN:0

d. Incluya el código de cada clase:

Principal

Código

public class Principal {

public static void main(String[] args) {


Radio radio1 = new Radio();//CONSTRUCTOR SIN PARAMETROS
radio1.setEstacion("102.3");
radio1.viewAll();//MUESTRA EL ESTADO GENERAL ACTUAL DE LA RADIO
radio1.encender();//TRATA DE ENCEDERLA (YA ESTA ENCENDIDA EN UN INICIO)
radio1.apagar();//APAGA LA RADIO; CAMBIA LA FIGURA, ESTADO Y ESTACION DE LA
RADIO

System.out.println("_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-");

Radio radio2 = new Radio("ENCENDIDO","98.7");


radio2.viewAll();
radio2.apagar();
}

Radio

Código

public class Radio {


private String estado;
private String estacion;
private String figura;
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

//CONSTRUCTOR
public Radio(String estado, String estacion) {
this.estado = estado;
this.estacion = estacion;
setFigura();
}

public Radio() {
this.estado = "ENCENDIDO";
this.estacion = "01";
setFigura();
}

//METODOS SET
public void setEstado(String estado) {
this.estado = estado;
}

public void setEstacion(String estacion) {


this.estacion = estacion;
}

public void setFigura() {

if(getEstado().equals("ENCENDIDO")){
this.figura = " .\n"+
" |\n"+
" | bla bla bla\n"+
" ________|\n"+
"|==+===== O|\n"+
"|(%)[oo](%)|\n"+
"`----------'";
}else if(getEstado().equals("APAGADO")){
this.figura = " .\n"+
" |\n"+
" |\n"+
" ________|\n"+
"|==+===== O|\n"+
"|(%)[oo](%)|\n"+
"`----------'";
}
}

//METODOS GET
public String getEstado() {
return estado;
}

public String getEstacion() {


return estacion;
}

//ENCENDER, APAGAR y MOSTRAR


public void encender(){
if(estado.equals("APAGADO")){
setEstado("ENCENDIDO");
setFigura();
setEstacion("01");
viewAll();
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

}else{
System.out.println("La radio ya se encuentra encendida");
}

public void apagar(){


if(estado.equals("ENCENDIDO")){
setEstado("APAGADO");
setFigura();
setEstacion("0");
viewAll();
}else{
System.out.println("La radio ya se encuentra apagada");
}

@Override
public String toString() {
return figura+"\n"+ estado + "\nESTACION: " + estacion;
}

public void viewAll(){


System.out.println(toString());
}

}
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

3. Considere el caso de una empresa que gestiona los alimentos y ambientación para eventos. Se desea
que contemple dos clases fundamentales (Fecha, Requerimientos)
a. Fecha. La clase fecha está compuesta por día de la semana (lunes, martes, miércoles, etc.), mes,
día y año. Así como la hora de inicio y final del evento. Diseñe la clase, constructores por default y
con parámetros, así como los métodos getter, setter y métodos adicionales que considere
necesarios.
b. Requerimientos. La clase Requerimientos se utiliza para almacenar la temática del evento, el tipo
(aniversario, cumpleaños, boda, bautizo, reunión, etc), y la cantidad de personas asignadas por la
empresa a la atención del evento. Diseñe la clase, constructores por default y con parámetros, así
como los métodos getter, setter y métodos adicionales que considere necesarios.
c. Evento. La clase evento contiene dos campos de clase, uno de tipo Fecha y otro de tipo
Requerimientos. Considere los constructores y métodos necesarios para esta clase.
d. Como parte del diseño se requiere una clase de tipo DatosEvento, que gestione la creación de
objetos de tipo Evento, así como la lectura de los campos correspondientes mediante cajas de
texto.
e. Se requiere una clase final que contenga el método main() donde se demuestre la funcionalidad
de las clases anteriores.
f. Incluya el código de cada clase:

Principal

Código

public class Principal {


public static void main(String[] args) {
DatosEvento evento1 = new Evento().getDatosEvento();

}
}

Eventos

Código

import javax.swing.JOptionPane;

public class Evento {


DatosEvento datosEvento;

public Evento(){
this.datosEvento = new DatosEvento();
}

public DatosEvento getDatosEvento(){


datosEvento.getFecha();
datosEvento.getRequerimientos();
return this.datosEvento;
}
}
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

DatosEvento

Código

import javax.swing.JOptionPane;

public class DatosEvento {


Fecha fecha;
Requerimientos requerimientos;

public DatosEvento(){
this.fecha = new Fecha();
this.requerimientos = new Requerimientos();
}

public Fecha getFecha(){


JOptionPane.showMessageDialog(null, "INGRESO DE DATOS \nRELACIONADOS A FECHA");
fecha.setDiaSem(JOptionPane.showInputDialog(fecha.getMsg_diaSem()));
fecha.setMes(JOptionPane.showInputDialog(fecha.getMsg_mes()));

fecha.setDia(Integer.parseInt(JOptionPane.showInputDialog(fecha.getMsg_dia())));

fecha.setAño(Integer.parseInt(JOptionPane.showInputDialog(fecha.getMsg_año())));

fecha.setInicio(Integer.parseInt(JOptionPane.showInputDialog(fecha.getMsg_inicio())));

fecha.setFin(Integer.parseInt(JOptionPane.showInputDialog(fecha.getMsg_fin())));

fecha.showFecha(fecha);
return this.fecha;
}

public Requerimientos getRequerimientos(){


JOptionPane.showMessageDialog(null, "INGRESO DE DATOS\nRELACIONADOS A
REQUERIMIENTOS");

requerimientos.setTipo(JOptionPane.showInputDialog(requerimientos.getMsg_tipo()));

requerimientos.setCantidad(Integer.parseInt(JOptionPane.showInputDialog(requerimientos.
getMsg_cantidad())));
requerimientos.showRequerimientos(requerimientos);
return this.requerimientos;
}

Fecha

Código

import javax.swing.JOptionPane;

public class Fecha {


private String diaSem;
private String mes;
private int dia;
private int año;
private int inicio;
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

private int fin;

private final String msg_diaSem = "Ingresa el día de la semana";


private final String msg_mes = "Ingresa el mes";
private final String msg_dia = "Ingresa el dia";
private final String msg_año = "Ingresa el año";
private final String msg_inicio = "Ingresa la hora de inicio";
private final String msg_fin = "Ingresa la hora de termino";

public Fecha(String diaSem, String mes, int dia, int año) {


this.diaSem = diaSem;
this.mes = mes;
this.dia = dia;
this.año = año;
}

public Fecha() {
this.diaSem = "";
this.mes = "";
this.dia = 0;
this.año = 0;
}

//METODOS SET
public void setDiaSem(String diaSem) {
this.diaSem = diaSem;
}

public void setMes(String mes) {


this.mes = mes;
}

public void setDia(int dia) {


this.dia = dia;
}

public void setAño(int año) {


this.año = año;
}

public void setInicio(int inicio) {


this.inicio = inicio;
}

public void setFin(int fin) {


this.fin = fin;
}

//METODOS GET
public String getDiaSem() {
return diaSem;
}

public String getMes() {


return mes;
}

public int getDia() {


return dia;
}
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

public int getAño() {


return año;
}

public int getInicio() {


return inicio;
}

public int getFin() {


return fin;
}

//METODOS GET MENSAJES


public String getMsg_diaSem() {
return msg_diaSem;
}

public String getMsg_mes() {


return msg_mes;
}

public String getMsg_dia() {


return msg_dia;
}

public String getMsg_año() {


return msg_año;
}

public String getMsg_inicio() {


return msg_inicio;
}

public String getMsg_fin() {


return msg_fin;
}

//METODOS PARA MOSTRAR


@Override
public String toString() {
return "* * *F E C H A* * *\nDía de la semana: " + diaSem + "\nMes: " + mes +
"\nDia: " + dia + "\nAño" + año + "\nInicio de evento: " + inicio + "\nFin de evento: "
+ fin;
}

public void showFecha(Fecha fecha){


JOptionPane.showMessageDialog(null, fecha.toString());
}

Requerimientos

Código

import javax.swing.JOptionPane;

public class Requerimientos {


private String tipo;
private int cantidad;
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

private final String msg_tipo = "Ingresa el tipo de evento";


private final String msg_cantidad = "Ingresa la cantidad de personas destinadas al
evento";

public Requerimientos(String tipo, int cantidad) {


this.tipo = tipo;
this.cantidad = cantidad;
}

public Requerimientos() {
this.tipo = "";
this.cantidad = 0;
}

//METODOS SET
public void setTipo(String tipo) {
this.tipo = tipo;
}

public void setCantidad(int cantidad) {


this.cantidad = cantidad;
}

//METODOS GET
public String getTipo() {
return tipo;
}

public int getCantidad() {


return cantidad;
}

public String getMsg_tipo() {


return msg_tipo;
}

public String getMsg_cantidad() {


return msg_cantidad;
}

@Override
public String toString() {
return "* * *R E Q U E R I M I E N T O S* * *\nTipo de evento: " + tipo +
"\nPersonal requerido: " + cantidad;
}

public void showRequerimientos(Requerimientos requerimientos){


JOptionPane.showMessageDialog(null,toString());
}

}
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

4. Una empresa que atiende mascotas requiere guardar los siguientes datos de dos clases fundamentales:
a. Requiere dos clases separadas Mascota y Cliente, para almacenar de forma separada los datos
del cliente y su mascota.

Mascota Cliente

● idmascota ● nombre
● name ● apellidos
● animal ● cel
● email

b. Consulta. La clase consulta cuenta con dos campos de clase, un campo de tipo Mascota y un
campo de Tipo Cliente. Considere constructores y métodos necesarios.
c. Como parte del diseño se requiere implementar en una clase DatosConsulta que gestione la
creación de objetos de tipo Consulta, así como la lectura de los campos correspondientes
mediante cajas de texto.
d. Se requiere una clase final que contenga el método main() donde se demuestre la funcionalidad
de las clases anteriores.
e. Incluya el código de cada clase:

Principal

Código

public class Main {


public static void main(String[] args) {
DatosConsulta consulta1 = new Consulta().getDatosConsulta();
}
}

Consulta

Código

public class Consulta {


DatosConsulta datosConsulta;

public Consulta(){
this.datosConsulta = new DatosConsulta();
}

public DatosConsulta getDatosConsulta() {


datosConsulta.getCliente();
datosConsulta.getMascota();
return this.datosConsulta;
}
}

DatosConsulta
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

Código
import javax.swing.JOptionPane;
public class DatosConsulta {
Mascota mascota;
Cliente cliente;
//Consulta

public DatosConsulta(){
this.mascota = new Mascota();
this.cliente = new Cliente();
}

public Mascota getMascota() {


JOptionPane.showMessageDialog(null,"INGRESO DE DATOS DE LA MASCOTA");
mascota.setIdmascota(JOptionPane.showInputDialog(mascota.getMsg_IDMascota()));

mascota.setNombreMascota(JOptionPane.showInputDialog(mascota.getMsg_NombreMascota()));
mascota.setAnimal(JOptionPane.showInputDialog(mascota.getMsg_Animal()));
mascota.showMascota(mascota);
return this.mascota;
}

public Cliente getCliente() {


JOptionPane.showMessageDialog(null, "INGRESO DE DATOS DEL CLIENTE");

cliente.setNombreCliente(JOptionPane.showInputDialog(cliente.getMsg_NombreCliente()));

cliente.setApellidosCliente(JOptionPane.showInputDialog(cliente.getMsg_ApellidoCliente(
)));

cliente.setCelCliente(JOptionPane.showInputDialog(cliente.getMsg_CelCliente()));

cliente.setEmailCliente(JOptionPane.showInputDialog(cliente.getMsg_EmailCliente()));
cliente.showCliente(cliente);
return this.cliente;
}

Cliente

Código

import javax.swing.JOptionPane;

public class Cliente {


private String nombreCliente, apellidosCliente, celCliente, emailCliente;

private final String msg_NombreCliente = "Ingresa el nombre del cliente";


private final String msg_ApellidoCliente = "Ingresa el/los apellido(s)";
private final String msg_CelCliente = "Ingresa el número de teléfono";
private final String msg_EmailCliente = "Ingesa el email";

//CONSTRUCTOR
Cliente(){
this.nombreCliente = "";
this.apellidosCliente = "";
this.celCliente = "";
this.emailCliente = "";
}
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

//METODOS SET
public void setNombreCliente(String nombreCliente) {
this.nombreCliente = nombreCliente;
}

public void setApellidosCliente(String apellidosCliente) {


this.apellidosCliente = apellidosCliente;
}

public void setCelCliente(String celCliente) {


this.celCliente = celCliente;
}

public void setEmailCliente(String emailCliente) {


this.emailCliente = emailCliente;
}

//METODOS GET
public String getNombreCliente() {
return nombreCliente;
}

public String getApellidosCliente() {


return apellidosCliente;
}

public String getCelCliente() {


return celCliente;
}

public String getEmailCliente() {


return emailCliente;
}

//METODOS GET MENSAJES


public String getMsg_NombreCliente() {
return msg_NombreCliente;
}

public String getMsg_ApellidoCliente() {


return msg_ApellidoCliente;
}

public String getMsg_CelCliente() {


return msg_CelCliente;
}

public String getMsg_EmailCliente() {


return msg_EmailCliente;
}

//METODOS PARA MOSTRAR


@Override
public String toString() {
return "* * *C L I E N T E* * *\nNombre(s): " + nombreCliente + "\nApellido(s):
" + apellidosCliente + "\nCelular: " + celCliente + "\nEmail:" + emailCliente;
}

public void showCliente(Cliente cliente){


Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

JOptionPane.showMessageDialog(null, cliente.toString());
}

Mascota

Código

import javax.swing.JOptionPane;

public class Mascota {


private String idmascota, nombreMascota, animal;

//CONSTRUCTOR
Mascota(){
this.idmascota = "";
this.nombreMascota = "";
this.animal = "";
}

private final String msg_InicioMasc = "INGRESE DATOS DE LA MASCOTA";


private final String msg_IDMascota = "Ingresa el Id de la mascota";
private final String msg_NombreMascota = "Ingresa el nombre de la mascota";
private final String msg_Animal = "Ingresa el tipo de animal";

//METODOS SET
public void setIdmascota(String idmascota) {
this.idmascota = idmascota;
}

public void setNombreMascota(String nombreMascota) {


this.nombreMascota = nombreMascota;
}

public void setAnimal(String animal) {


this.animal = animal;
}

//METODOS GET
public String getIdmascota() {
return idmascota;
}

public String getNombreMascota() {


return nombreMascota;
}

public String getAnimal() {


return animal;
}

//METODOS GET MENSAJES


public String getMsg_InicioMasc() {
return msg_InicioMasc;
}

public String getMsg_IDMascota() {


return msg_IDMascota;
}
Nombre: Rosas Flores Cesar Elias

No. Ctrl.: 20400818

public String getMsg_NombreMascota() {


return msg_NombreMascota;
}

public String getMsg_Animal() {


return msg_Animal;
}

//METODOS PARA MOSTRAR


@Override
public String toString() {
return "* * *M A S C O T A* * *\nId: " + idmascota + "\nNombre: " +
nombreMascota + "\nAnimal: " + animal;
}

public void showMascota(Mascota mascota){


JOptionPane.showMessageDialog(null, mascota.toString());
}

También podría gustarte