Está en la página 1de 45

Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

Objetivo:

● Modelar clases con UML y generar código Java con la estructura básica del proyecto.
● Crear y utilizar constructores y sobrecarga de constructores
● Utilizar la palabra reservada this();, para invocar constructores dentro de otro constructor de la
misma clase
● Utilizar métodos get, set, toString y otros métodos asociados al dominio del problema.
● Crear objetos y demostrar el uso de las clases creadas.

1. Considere el escenario de una empresa que puede optar por contratar personal mediante tres casos
posibles:
a. El empleado es contratado y se conocen todos sus datos completos: apellido1, apellido2,
nombres, código, puesto.
b. Se genera el empleado únicamente con los datos básicos del puesto, dado que está pendiente la
asignación a una vacante a un trabajador en específico, por lo tanto se tiene definido el código y el
puesto, el resto de los datos no están definidos.
c. Se generan empleados para actividades temporales, para este tercer caso únicamente se
requiere los datos relativos al nombre: apellido1, apellido2, nombres

nombre la clase

imagen de la clase

Empleado.java

package Uno;

public class Empleado {


private String apellido1;
private String apellido2;
private String nombres;
private int codigo;
private String puesto;

//Constructor por default


public Empleado(){
this("Por definir", "Por definir", "Por definir", -1 , "Por definir");
}

// Constructor para empleado completo


public Empleado(String apellido1, String apellido2, String nombres, int
codigo, String puesto) {
this(apellido1, apellido2, nombres);
this.codigo=codigo;
this.puesto=puesto;
}

// Constructor para empleado básico


public Empleado(int codigo, String puesto) {
this.apellido1="No definido";
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

this.apellido2="No definido";
this.nombres="No definido";
this.codigo=codigo;
this.puesto=puesto;

}
// Constructor para Empleado temporal
public Empleado(String apellido1, String apellido2, String nombres){
this.apellido1=apellido1;
this.apellido2=apellido2;
this.nombres=nombres;
this.codigo=0;
this.puesto="No definido";
}
//Metodo getter y metodos setter

public String getApellido1(){//Recuperar


return this.apellido1;
}

public void setApellido1(String apellido1){ //Actualizar


this.apellido1=apellido1;
}

public String getApellido2(){


return this.apellido2;
}

public void setApellido2(String apellido2){


this.apellido2=apellido2;
}

public String getNombres(){


return this.nombres;
}
public void setNombres(String nombres){
this.nombres=nombres;
}

public int getCodigo(){


return this.codigo;
}

public void setCodigo(int codigo){


this.codigo=codigo;
}

public String getPuesto(){


return this.puesto;
}

public void setPuesto(String puesto){


this.puesto=puesto;
}

//toString
@Override
public String toString() {
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

return "APELLIDO 1: " + this.apellido1 + "\n" +


"APELLIDO 2: " + this.apellido2 + "\n" +
"Nombres: " + this.nombres + "\n" +
"CODIGO: " + this.codigo + "\n" +
"PUESTO: " + this.puesto + "\n" ;
}

public static void main(String[] args) {

Empleado emp1 = new Empleado("Menendez", "Martir", "Aldo", 24, "Gerencia");


Empleado emp2 = new Empleado(44, "Gerente admin");
Empleado emp3 = new Empleado("Pérez", "Molly", "Andrea");

System.out.println(emp1.toString());
System.out.println(emp2.toString());
System.out.println(emp3.toString());
}
}

MainEmpleado.java

package Uno;
public class MainEmpleado {
public static void main(String[] args) {

Empleado x = new Empleado("Menendez", "Martir", "Aldo", 24, "Gerencia");


Empleado y = new Empleado(44, "Gerente admin");
Empleado z = new Empleado("Pérez", "Molly", "Andrea");

System.out.println(x.toString());
System.out.println(y.toString());
System.out.println(z.toString());
}

2. Desarrolle un programa que contemple la clase Estudiante, con los siguientes atributos: apellido1,
apellido2, nombres, domicilio, edad, y cel. Considere los siguientes aspectos.
a. En la mayoría de los casos se conocen todos los datos del Estudiante.
b. En algunos casos el estudiante no cuenta domicilio y omite dicho datos.
c. En casos menores el estudiante no proporciona el domicilio y el número de celular.

nombre la clase

imagen de la clase

Estudiante

package Dos;
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

public class Estudiante {

private String apellido1;


private String apellido2;
private String nombres;
private String domicilio;
private int age;
private String cel;

//Contructor default
public Estudiante(){
this("Por definir", "Por definir", "Por definir", "Por definir", -1 , "Por
definir");
}

//Constructor completo
public Estudiante(String apellido1, String apellido2, String names, String
domicilio, int age, String cel){
this(apellido1, apellido2, names, age, cel);
this.domicilio = "Por definir";
}

//Constructor sin domicilio


public Estudiante(String apellido1, String apellido2, String names, int age,
String cel){
this(apellido1, apellido2, names, age);
this.cel=cel;
}
//Constructor sin domicilio y cell
public Estudiante(String apellido1, String apellido2, String nombres, int age){
this.apellido1=apellido1;
this.apellido2=apellido2;
this.nombres=nombres;
this.domicilio="Domicilio aún no proporcionado";
this.age=age;
this.cel="No proporcionado";
}

// Metodos getter y setter


public String getApellido1(){
return this.apellido1;
}

public void setApellido1(String apellido1){


this.apellido1=apellido1;
}

public String getApellido2(){


return this.apellido2;
}

public void setApellido2(String apellido2){


this.apellido2=apellido2;
}

public String getNombres(){


return this.nombres;
}
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

public void setNombres(String nombres){


this.nombres=nombres;
}

public String getDomicilio(){


return this.domicilio;
}

public void setDomicilio(String domicilio){


this.domicilio=domicilio;
}

public int getAge(){


return this.age;
}

public void setAge(int age){


this.age=age;
}

public String getCel(){


return this.cel;
}

public void setCel(String cel){


this.cel=cel;
}

@Override
public String toString() {
return "APELLIDO 1 : " + this.apellido1 + "\n" +
"APELLIDO 2 : " + this.apellido2 + "\n" +
"NOMBRE (S) : "+ this.nombres + "\n" +
"DOMICILIO : " + this.domicilio + "\n" +
"EDAD : " + this.age + "\n" +
"CELULAR : " + this.cel + "\n" ;
}

MainEstudiante.java

package Dos;

public class MainEstudiante {


public static void main(String[] args) {

Estudiante x = new Estudiante("Perez", "Perez", "Dante","Av. mexico 1343",


18,"333123123");
Estudiante y = new Estudiante("Lopez", "Arias", "Adriana", 22,"67868789");
Estudiante z = new Estudiante("Trujillo", "Guerrero", "Pedro", 23);

System.out.println(x.toString());
System.out.println(y.toString());
System.out.println(z.toString());
}
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

3. Un taller mecánico atiende diversos tipos de clientes por fallas mecánicas o de carrocería
a. Para clientes particulares requiere registrar datos relativos a; apellido1, apellido2, nombres, cel,
mail, rfc;
b. Para clientes empresariales requiere únicamente rfc y mail;
c. Existe un tercer tipo de cliente atendidos en la zona de servicio express (para servicios menores),
de quienes únicamente se requieren:apellido1, apellido2, nombres.
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

nombre la clase

imagen de la clase

Taller.java

package Tres;

public class Taller{

private String apellido1;


private String apellido2;
private int cel;

private static int count=0;

//Empresariales
private String mail;
private String rfc;

//Express
//apellido 1, 2 y nombres
private String nombres;

//Default
Taller(){
this("Sin definir", "Sin definir", 0,
"Sin definir", "Sin definir", "Sin definir");
}

//Completo
Taller(String apellido1, String apellido2, int cel, String mail, String rfc,
String nombres){

//Ocupamos un constructor igual que lo que vayas a poner aquí y en el default


asígnalo bien
//We need a constructor equal than we put in here, make sure to asign it ok in
default c, dat's all
this(apellido1, apellido2, cel);
this.mail=mail;
this.rfc=rfc;
this.nombres=nombres;
}

//Empresariales
Taller(String mail, String rfc){
this.apellido1="Sin definir";
this.apellido2="Sin definir";
this.cel=0;
this.nombres="Sin definir";
this.mail=mail;
this.rfc=rfc;
}

//Express
Taller(String apellido1, String apellido2, int cel) {
this.apellido1=apellido1;
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

this.apellido2=apellido2;
this.cel=cel;
}

//Getters y Setters
public String getApellido1(){
return this.apellido1;
}

public void setApellido1(String apellido1){


this.apellido1=apellido1;
}

public String getApellido2(){


return this.apellido2;
}

public void setApellido2(String apellido2){


this.apellido2=apellido2;
}

public String getNombres(){


return this.apellido1;
}
public void setNombres(String nombres){
this.nombres=nombres;
}

public int getCel(){


return this.cel;
}

public void setCel(int cel){


this.cel=cel;
}

public String getRFC(){//Recuperar


return this.rfc;
}

public void setRFC(String rfc){ //Actualizar


this.rfc=rfc;
}

public void asignNS() {


count++;
}
public int retNS() {
return count;
}

//toString
@Override
public String toString(){
StringBuilder x= new StringBuilder("<--Taller AutoFix-->\n")
.append("Apellido1:"+this.apellido1).append("\nApellido2: "+this.apellido2)
.append("\nNombre (S): "+this.nombres).append("\nCelular: "+this.cel)
.append("\nMail: "+this.mail).append("\nRFC: "+this.rfc);
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

return x.toString();
}

MainTaller.java

package Tres;

public class MainTaller {


public static void main(String[] args) {
Taller x= new Taller("Curry", "Denzyx", 434434340,
"axczc@gmail.com", "x000100100", "Gerard Dan");
Taller y= new Taller("fgef@gmail.com", "xx111000x0");
Taller z= new Taller("Nieves", "Vienne", 332232230);

x.asignNS();
System.out.println("Servicio "+x.retNS()+"\n"+(x.toString()));
y.asignNS();
System.out.println("\nServicio "+y.retNS()+"\n"+(y.toString()));
z.asignNS();
System.out.println("\nServicio "+z.retNS()+"\n"+(z.toString()));
}
}

● Modelar clases con UML y generar código Java con la estructura básica del proyecto.
● Uso de constructores
● Crear y utilizar miembros estáticos de clase (atributos y métodos estáticos)
● Crear objetos y demostrar el uso de las clases creadas.

4. Un taller mecánico atiende diversos tipos de clientes por fallas mecánicas o de carrocería
a. Para clientes particulares requiere registrar datos relativos a; apellido1, apellido2, nombres, cel,
mail, rfc;
b. Para clientes empresariales requiere únicamente rfc y mail;
c. Existe un tercer tipo de cliente atendidos en la zona de servicio express (para servicios menores),
de quienes únicamente se requieren:apellido1, apellido2, nombres.
d. Cada servicio tiene un costo, el administrador requiere saber la cantidad de servicios realizados y
el costo total (acumulado) generado por los servicios realizados.

nombre la clase

imagen de la clase

TallerSP.java

package Cuatro;
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

public class TallerSP {

private String apellido1;


private String apellido2;
private String nombres;
private String celular;
private String mail;
private String rfc;
private double costo;

private static int cantidadServicios=0;


private static double costoTotal=0;

public TallerSP(String apellido1, String apellido2, String nombres, String


celular, String mail, String rfc, double costo) {
this.apellido1 = apellido1;
this.apellido2 = apellido2;
this.nombres = nombres;
this.celular = celular;
this.mail = mail;
this.rfc = rfc;
this.costo=costo;

TallerSP.cantidadServicios=TallerSP.cantidadServicios+1;
TallerSP.costoTotal=TallerSP.costoTotal+costo;
}

public TallerSP(String mail, String rfc, double costo) {


//nd - no definidos
this("nd", "nd", "nd", "nd", mail, rfc, costo);
}

public TallerSP(String apellido1, String apellido2, String nombres, double


costo) {
this(apellido1, apellido2, nombres, "nd", "nd", "nd", costo);
}

public String getApellido1() {


return apellido1;
}
public String getApellido2() {
return apellido2;
}
public String getNombres() {
return nombres;
}
public String getCelular() {
return celular;
}
public String getMail() {
return mail;
}
public String getRfc() {
return rfc;
}
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

public void setApellido1(String apellido1) {


this.apellido1 = apellido1;
}
public void setApellido2(String apellido2) {
this.apellido2 = apellido2;
}
public void setNombres(String nombres) {
this.nombres = nombres;
}
public void setCelular(String celular) {
this.celular = celular;
}
public void setMail(String mail) {
this.mail = mail;
}
public void setRfc(String rfc) {
this.rfc = rfc;
}

public static int getCantidadServicios() {


return cantidadServicios;
}
public static double getCostoTotal() {
return costoTotal;
}

@Override
public String toString() {
StringBuilder datos = new StringBuilder("<-- DATOS DEL CLIENTE -->\n");
datos.append("APELLIDO PATERNO: ").append(this.apellido1).append("\n");
datos.append("APELLIDO MATERNO: ").append(this.apellido2).append("\n");
datos.append("NOMBRE(S): ").append(this.nombres).append("\n");
datos.append("CELULAR: ").append(this.celular).append("\n");
datos.append("MAIL: ").append(this.mail).append("\n");
datos.append("RFC: ").append(this.rfc).append("\n");
datos.append("COSTO: ").append(this.costo).append("\n");

return datos.toString();
}
}

MainTallerSP.java

package Cuatro;

public class MainTallerSP {


public static void main(String[] args) {

TallerSP cliente1 = new TallerSP("Den", "Din", "Dan", "43434343434",


"dvsdc@gmail.com", "xx1212212", 68787); // 01)
TallerSP cliente2 = new TallerSP("csefr@gmail.com", "RFC456", 2550);
TallerSP cliente3 = new TallerSP("Genaro", "Dineom", "Din", 4550);

System.out.println("Datos del Cliente 1:\n" + cliente1.toString());


System.out.println("Datos del Cliente 2:\n" + cliente2.toString());
System.out.println("Datos del Cliente 3:\n" + cliente3.toString());
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

System.out.println("Cantidad de servicios realizados: " +


TallerSP.getCantidadServicios()); // contador
System.out.println("Costo total de servicios: $" +
TallerSP.getCostoTotal()); // acumulador
}
}

5. Una empresa turística ha instalado máquinas expendedoras de boletos para transporte público recreativo
en diversas zonas de la ciudad. Cada máquina cuenta con un id (consecutivo de número de boleto), una
ubicación (dirección), el costo del boleto es de 20 pesos. La empresa requiere que se contabilice cada
boleto vendido y además poder obtener el total en pesos de los boletos vendidos. Cada boleto vendido
debe tener el siguiente formato. e indicar el id del boleto.

TRANSPORTES TORTUGA
BOLETO No: +id
.--------------------------|
/| _ .---. .---. .---. .---.|
|j||||___| |___| |___| |___||
|=|||=======================|
[_|j||(O)|__________|(O)|___]

nombre la clase

imagen de la clase

Boleto.java

package Cinco;

/*5
* Una empresa turística ha instalado máquinas expendedoras de
* boletos para transporte público recreativo en diversas zonas
* de la ciudad. Cada máquina cuenta con un id
* (consecutivo de número de boleto), una ubicación (dirección),
* el costo del boleto es de 20 pesos.
* La empresa requiere que se contabilice cada boleto vendido
* y además poder obtener el total en pesos de los boletos
* vendidos. Cada boleto vendido debe tener el siguiente formato.
* e indicar el id del boleto.

*/
public class Boleto {
private int id;
private String ubicacion;

private static double costo = 20.0;


private static int totalBoletosVendidos=0;
private static double totalIngresos=0;

public Boleto(int id, String ubicacion){


this.id=id;
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

this.ubicacion=ubicacion;
}

//Get
public int obtenerId(){
return id;
}

public static int getSold(){


return totalBoletosVendidos;
}

public static double getIngresos(){


return totalIngresos;
}

public void showBoletos(){


totalBoletosVendidos++;
totalIngresos+=costo;
System.out.println("\n" + "<-- BOLETO VENDIDO -->" + "TRANSPORTES TORTUGA\r\
n" + //
" BOLETO No: +id \r\n" + //
" .--------------------------|\r\n" + //
" /| _ .---. .---. .---. .---.|\r\n" + //
" |j||||___| |___| |___| |___||\r\n" + //
" |=|||=======================|\r\n" + //
" [_|j||(O)|__________|(O)|___]\r\n" + //
" " + "\n" + "* ID: " + id + "\n" + "* UBICACIÓN: " + ubicacion);
}
}

MainBoleto.java

package Cinco;

public class MainBoleto {


public static void main(String[] args) {
Boleto boletox = new Boleto(120, "Av Insurgentes #443");

boletox.showBoletos();
boletox.showBoletos();

System.out.println("TOTAL DE BOLETOS VENDIDOS: " + Boleto.getSold());


System.out.println("TOTAL DE INGRESOS: " + Boleto.getIngresos());
}

6. Desarrolle una clase que resuelva una ecuación de segundo grado utilizando la fórmula general de las
cuadráticas. De solución al caso utilizando el constructor. Considere un método para determinar el
discriminante e indique los tipos de raíces con que cuenta la ecuación.
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

nombre la clase

imagen de la clase

Formula.java

package Seis;

public class Formula {


private double a;
private double b;
private double c;
private double x1;
private double x2;
private double discriminante;
private String resultado;

Formula(double a, double b, double c) {


this.a = a;
this.b = b;
this.c = c;

calDiscriminante();

if (this.discriminante == 0) {
// Raíz real repetida
calcularUnaRaiz();
}

if (this.discriminante > 0) {
// Dos raices reales
calcularDosRaices();
}

if (this.discriminante < 0) {
// La ecuacion no tiene solucion en numeros reales
this.resultado = "<-- LA ECUACION NO TIENE RESULTADO EN NUMERO REAL --
>";
}

showResultado();
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

private void calDiscriminante() {


this.discriminante = (this.b * this.a) - (4 * this.a * this.c);
}

private void calcularDosRaices() {


this.x1 = (-this.b + Math.sqrt(this.discriminante)) / (2 * this.a);
this.x2 = (-this.b - Math.sqrt(this.discriminante)) / (2 * this.a);
this.resultado = "LA ECUACION TIENE DOS RAICES REALES: \n" + "X1 = " +
this.x1 + "\n" + "X2 = " + this.x2 + "\n";
}

private void calcularUnaRaiz() {


this.x1 = this.x2 = (-this.b)/(2 * this.a);
this.resultado = "LA ECUACION TIENE DOS RAICES REALES: \n" + "X1 = " +
this.x1 + "\n" + "X2 = " + this.x2 + "\n";
}

public void showResultado(){


System.out.println(this.resultado);
}
}

MainFormula.java

package Seis;

public class MainFormula {


public static void main(String[] args){
Formula x = new Formula(1, 3, 2);
Formula y = new Formula(0, 0, 0);
Formula z = new Formula(2, 2, 2);

x.showResultado();
y.showResultado();
z.showResultado();

}
}

7. Desarrolle una clase que resuelva una ecuación de segundo grado utilizando la fórmula general de las
cuadráticas. Considere únicamente métodos estáticos y miembros de clase estáticos. Considere un
método para determinar el discriminante e indique los tipos de raíces con que cuenta la ecuación.
Considere métodos estáticos adicionales para la resolución de la fórmula.
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

nombre la clase

imagen de la clase

Cuadratica.java

package Siete;

public class Cuadratica{


private static double a;
private static double b;
private static double c;
private static double x1;
private static double x2;
private static double discriminante;
private static String resultado;

public static void calcCuadratica(double a, double b, double c){


Cuadratica.a=a;
Cuadratica.b=b;
Cuadratica.c=c;
Cuadratica.discriminante();

if(Cuadratica.discriminante>0){
//Dos raices
Cuadratica.calcDosRaices();
}
if(Cuadratica.discriminante==0){
//Raices repetidas
Cuadratica.calcUnaRaiz();
}
if(Cuadratica.discriminante<0){
//No tiene solucion en R
Cuadratica.resultado="La ecuacion no tiene solucion en los numeros
reales";
}

Cuadratica.showResultado();

private static void discriminante(){


Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

Cuadratica.discriminante=(Cuadratica.b*Cuadratica.b)-
(4*Cuadratica.a*Cuadratica.c);
}

private static void calcDosRaices(){


Cuadratica.x1= -Cuadratica.b+Math.sqrt(Cuadratica.discriminante)/ 2 *
Cuadratica.a;
Cuadratica.x2= -Cuadratica.b-Math.sqrt(Cuadratica.discriminante)/ 2 *
Cuadratica.a;

Cuadratica.resultado="La ecuacion tiene dos raices diferentes\n" +


"x1: " + Cuadratica.x1 + "\n" +
"x2: " + Cuadratica.x2 + "\n";

private static void calcUnaRaiz(){


Cuadratica.x1= Cuadratica.x2= (-Cuadratica.b)/(2 * Cuadratica.b);
Cuadratica.resultado="La ecuacion tiene raices repetidas\n" +
"x1: " + Cuadratica.x1 + "\n" +
"x2: " + Cuadratica.x2 + "\n";
}

private static void showResultado(){


System.out.println(Cuadratica.resultado);
}
}

MainCuadratica.java

package Siete;
public class MainCuadratica {
public static void main(String[] args) {
Cuadratica.calcCuadratica(1,-2,-24);

}
}

● Modelar clases con UML y generar código Java con la estructura básica del proyecto.
● Uso de constructores
● Sobrecarga de métodos
● Crear objetos y demostrar el uso de las clases creadas.

8. Una empresa editorial de publicaciones en versiones en físico de lujo, maneja la producción de libros y
revistas. De cada producto (libro o revista) cuenta con un id, titulo, costo y autor. La empresa editorial
debe enviar productos tanto en el ámbito, local, nacional yl extranjero. Para el envío debe generarse una
etiqueta del producto indicando lo siguiente:

a. Cantidad y detalles del producto enviado, así como calle, número y cp para envíos locales.
b. Cantidad y detalles del producto enviado, así como calle, número, cp, ciudad y estado, para envíos
en el ámbito nacional.
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

c. Cantidad y detalles del producto enviado, así como calle, número, cp, país, ciudad y estado para
envíos en el ámbito internacional.

nombre la clase

imagen de la clase

Editorial.java

package Ocho;

public class Editorial {

private int id;


private String titulo;
private int costo;
private String nacional;
private String foreign;

//Locales
private String calle;
private int n;
private String cp;
//Nacional
private String ciudad;
private String estado;
//Internacional
private String pais;

public String getLocal(int id, String titulo, int costo, String nacional, String
foreign, String calle, int n, String cp){

this.id=id;
this.titulo=titulo;
this.costo=costo;
this.nacional=nacional;
this.foreign=foreign;
this.calle=calle;
this.n=n;
this.cp=cp;

StringBuilder x= new StringBuilder("<<--Local-->>\n")


.append("Id: "+this.id).append("\n")
.append("Título: "+this.titulo).append("\n")
.append("Costo: "+this.costo).append("\n")
.append("Nacional: "+this.nacional).append("\n")
.append("Extranjero: "+this.foreign).append("\n")
.append("Calle: "+this.calle).append("\n")
.append("Número: "+this.n).append("\n")
.append("Código Postal: "+this.cp).append("\n") ;
return x.toString();
}

public String getNacional(int id, String titulo, int costo, String nacional,
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

String foreign, String calle,


int n, String cp, String ciudad, String estado){
this.id=id;
this.titulo=titulo;
this.costo=costo;
this.nacional=nacional;
this.foreign=foreign;
this.calle=calle;
this.n=n;
this.cp=cp;
this.ciudad=ciudad;
this.estado=estado;

StringBuilder y= new StringBuilder("<--Nacional-->\n")


.append("Id: "+this.id).append("\n")
.append("Título: "+this.titulo).append("\n")
.append("Costo: "+this.costo).append("\n")
.append("Nacional: "+this.nacional).append("\n")
.append("Extranjero: "+this.foreign).append("\n")
.append("Calle: "+this.calle).append("\n")
.append("Número: "+this.n).append("\n")
.append("Código Postal: "+this.cp).append("\n")
.append("Ciudad: "+this.ciudad).append("\n")
.append("Estado: "+this.estado).append("\n") ;
return y.toString();
}

public String getInternacional(int id, String titulo, int costo, String


nacional, String foreign,
String calle, int n, String cp, String ciudad, String estado, String pais){

//definir
this.id=id;
this.titulo=titulo;
this.costo=costo;
this.nacional=nacional;
this.foreign=foreign;
this.calle=calle;
this.n=n;
this.cp=cp;
this.ciudad=ciudad;
this.estado=estado;
this.pais=pais;

//StringBuilder
StringBuilder z= new StringBuilder("<- Internacional->\n")
.append("Id: "+this.id).append("\n")
.append("Título: "+this.titulo).append("\n")
.append("Costo: "+this.costo).append("\n")
.append("Nacional: "+this.nacional).append("\n")
.append("Extranjero: "+this.foreign).append("\n")
.append("Calle: "+this.calle).append("\n")
.append("Número: "+this.n).append("\n")
.append("Código Postal: "+this.cp).append("\n")
.append("Ciudad: "+this.ciudad).append("\n")
.append("Estado: "+this.estado).append("\n")
.append("País: "+this.pais).append("\n")
;
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

return z.toString();
}
public static void main(String[] args) {
String data= new Editorial().getLocal(143, "Don quijote de la Mancha", 800,
"NO",
"Sí", "INSURGENTES", 3, "63000");

String datax= new Editorial().getNacional(10, "HÁBITOS ATÓMICOS", 900,


"SÍ", "NO", "MERIDIANO #222", 30,
"12313", "TEPIC", "NAYARIT");

String dataz= new Editorial().getInternacional(330, "LOS 3 MOSQUETEROS",


550,
"SÍ", "NO", "INSURGENTES #555", 550, "63998",
"TEPIC", "NAYARIT", "MÉXICO");

System.out.println(data+"\n"+datax+"\n"+dataz);
}
}

MainEditoria.java

package Ocho;

public class MainEditorial {


public static void main(String[] args) {
String data= new Editorial().getLocal(143, "Don quijote de la Mancha", 800,
"NO",
"Sí", "INSURGENTES", 3, "63000");

String datax= new Editorial().getNacional(10, "HÁBITOS ATÓMICOS", 900,


"SÍ", "NO", "MERIDIANO #222", 30,
"12313", "TEPIC", "NAYARIT");

String dataz= new Editorial().getInternacional(330, "LOS 3 MOSQUETEROS",


550,
"SÍ", "NO", "INSURGENTES #555", 550, "63998",
"TEPIC", "NAYARIT", "MÉXICO");

System.out.println(data+"\n"+datax+"\n"+dataz);
}
}

9. Un almacén de un supermercado recibe una amplia gama de productos que debe trasladar
inmediatamente a las diversas zonas de ventas. Todos los productos que recibe se cuentan con id,
nombre, descripción y precio de venta. Para cada producto recibido debe generar una orden de salida
para que los responsables de cada departamento pasen por su mercancía y la pongan en su área de
venta. De forma general las órdenes de salida de almacén indican lo siguiente:
a. Detalles del producto, cantidad, fecha de venta y fecha de retiro del área de venta, para el caso
de productos perecederos.
b. Detalles del producto, cantidad y fecha de venta para productos no-perecederos.
c. Detalles del producto, y cantidad para productos de alta demanda y no perecederos
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

nombre la clase

imagen de la clase

Productos.java

package Nueve;

public class Productos {


private String id;
private String nombre;
private String descripcion;
private int precio;

// atributos del tipo uno


private double cantidad;
private String fechaVenta;
private String fechaRetiro;

// metodo para etiqueta genérica


private StringBuilder getDatos(String tipo) {

StringBuilder x = new StringBuilder("PRODUCTO\n");


x.append("ID: ").append(this.id).append("\n");
x.append("NOMBRE: ").append(this.nombre).append("\n");
x.append("DESCRIPCIÓN: ").append(this.descripcion).append("\n");
x.append("PRECIO: ").append(this.precio).append("\n");
x.append("CANTIDAD: ").append(this.cantidad).append("\n");
x.append("FECHA DE VENTA: ").append(this.fechaVenta).append("\n");
x.append("FECHEA DE RETIRO: ").append(this.fechaRetiro).append("\n");

return x;

//Detalles
public String getProductos(String id, String nombre, String descripcion, int
precio) {
this.id = id;
this.nombre = nombre;
this.descripcion = descripcion;
this.precio = precio;

StringBuilder x = new StringBuilder("<-- PRODUCTO -->\n");


x.append("ID: ").append(this.id).append("\n");
x.append("NOMBRE: ").append(this.nombre).append("\n");
x.append("DESCRIPCIÓN: ").append(this.descripcion).append("\n");
x.append("PRECIO: ").append(this.precio).append("$").append("\n");

return x.toString();
}

public String getProductos(String id, String nombre, String descripcion, int


precio, double cantidad, String fechaVenta, String fechaRetiro) {
this.id = id;
this.nombre = nombre;
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

this.descripcion = descripcion;
this.precio = precio;

this.cantidad = cantidad;
this.fechaVenta = fechaVenta;
this.fechaRetiro = fechaRetiro;

return this.getDatos("PERECEDEROS").toString();
}

// Detalles del producto, cantidad


// y fecha de venta para productos no-perecederos.
public String getProductos(String id, String nombre, String descripcion, int
precio, double cantidad, String fechaVenta) {
this.id = id;
this.nombre = nombre;
this.descripcion = descripcion;
this.precio = precio;

this.cantidad = cantidad;
this.fechaVenta = fechaVenta;

return this.getDatos("NO - PERECEDEROS ").toString();


}

// Detalles, cantidad para productos de alta demanda y no perecederos


public String getProductos(String id, String nombre, String descripcion,
int precio, String detalles, double cantidad) {
this.id = id;
this.nombre = nombre;
this.descripcion = descripcion;
this.precio = precio;
this.cantidad = cantidad;

return this.getDatos("DE ALTA DEMANDA ").toString();


}
}

MainProductos.java

package Nueve;

public class MainProductos {


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

//PERECEDEROS
String maiz = new Productos().getProductos("3443","MAÍZ", "TOSTADO", 60,
4, "23/06/2008", "20/08/2009");
//NO PERECEDEROS
String leche = new Productos().getProductos("443de4", "LECHE", "LECHE
PASTEURIZADA", 35, 5, "01/02/2011");
//ALTA DEMANDA
String huevos = new Productos().getProductos("dfr456", "HUEVOS BLANCOS
(CARTERA) ", "DE GRANJA", 60);

System.out.println(maiz);
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

System.out.println(leche);
System.out.println(huevos);

}
}

10. Desarrolle una clase con métodos estáticos y métodos sobrecargados que permitan: sumar: 2, 3 y 4
números pasados como parámetros. Multiplicar 2, 3 y 4 números pasados como parámetros.

nombre la clase

imagen de la clase

Numeros.java

package Diez;

public class Numeros {


private static int a;
private static int b;
private static int c;
private static int d;

private static int contador=1;


private static int multiplicacionContador=1;

public static void setNumeros(int a, int b, int c, int d) {


Numeros.a=a;
Numeros.b=b;
Numeros.c=c;
Numeros.d=d;
}

//cont
public static int getSumaCont() {
return contador;
}

public static int getMultiplicacionContador() {


return multiplicacionContador;
}

// Suma
public static int sumarNumeros(int a, int b) {
//public static double res;
//Numeros.res = a+b;
//return Numeros.res;

contador++;
return a + b;
}

public static int sumarNumeros(int a, int b, int c) {


Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

contador++;
return a + b + c;
}

public static int sumarNumeros(int a, int b, int c, int d) {


contador++;
return a + b + c + d;
}

// Multiplicar
public static int multiplicarNumeros(int a, int b) {
multiplicacionContador++;
return a * b;
}

public static int multiplicarNumeros(int a, int b, int c) {


multiplicacionContador++;
return a * b * c;
}

public static int multiplicarNumeros(int a, int b, int c, int d) {


multiplicacionContador++;
return a * b * c * d;
}

MainNumeros.java

package Diez;

public class MainNumeros{


public static void main(String[] args) {

System.out.println(Numeros.getSumaCont() + "Suma: " +


Numeros.sumarNumeros(2,4));
System.out.println(Numeros.getSumaCont() + "Suma: " +
Numeros.sumarNumeros(1, 2, 3));
System.out.println(Numeros.getSumaCont() + "Suma: " +
Numeros.sumarNumeros(1, 2, 3, 4) + "\n");

System.out.println(Numeros.getMultiplicacionContador() + "Multiplicación: "


+ Numeros.multiplicarNumeros(2, 2));

}
}

● Modelar clases con UML y generar código Java con la estructura básica del proyecto.
● Uso de constructores
● Paso de objetos como parámetros, en constructores y métodos.
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

● Crear objetos y demostrar el uso de las clases creadas.

11. Desarrolle las clases necesarias para el siguiente escenario:


a. Una clase para modelar un punto en el plano cartesiano.
b. Contemple una segunda clase que dados dos puntos determine la distancia entre ambos puntos.

c. Demuestre el uso de las clases anteriores en una tercera clase que contenga el método main()

nombre la clase

imagen de la clase

Punto.java

//Fórmula Distancia: Raíz((x2-x1)^2+(y2-y1)^2)


//problema 11
package Once;

public class Punto {

private double x;
private double y;

Punto(double x, double y){

this.x=x;
this.y=y;

public double getX(){


return this.x;
}

public void setX(double x){


this.x=x;
}

public double getY(){


return this.y;
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

public void setY(double y){


this.y=y;
}

@Override
public String toString(){

StringBuilder x= new StringBuilder("Valores del punto:\n")

.append("X= "+this.x).append("\n")
.append("Y= "+this.y).append("\n");

return x.toString();
}
public static void main(String[] args) {

}
}

PuntoDistancia.java

package Once;
public class PuntoDistancia {

private double ans;


//Recibe 2 objetos, 1 de tipo punto a y otro de tipo punto b.

//La referencia a a debe ser del mismo tipo por lo tanto:


private Punto a;
private Punto b;

PuntoDistancia(Punto a, Punto b){

//a(x1, y1)^2
//b(x2, y2)^2
this.a=a;
this.b=b;
//Notación punto
this.ans=Math.sqrt((Math.pow(this.b.getX()-this.a.getX(), 2))+
(Math.pow(b.getY()-a.getY()+b.getY()-a.getY(), 2)));

@Override
public String toString(){
StringBuilder x= new StringBuilder("Distancia entre 2 puntos ")
//Con las referencias del mismo tipo ya hechas ya nos permite usar el
toString()
.append(this.a.toString()).append("\n")
.append(this.b.toString()).append("\n")
.append("Distancia: ").append(this.ans).append("\n");
//.append(": ").append(this.ans).append("\n");
return x.toString();
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

MainPuntoDistancia.java

package Once;
public class MainPuntoDistancia {
public static void main(String[] args) {
Punto a= new Punto(2, 2);
Punto b= new Punto(5, 5);

PuntoDistancia d1= new PuntoDistancia(a, b);


String d=d1.toString();
System.out.println(d);

a.setX(-1);
a.setY(-1);
System.out.println(a.toString());

}
}

12. Un fabricante de bicicletas, arma bicicletas para venta directa en dos modalidades Ruta y MTB. Cuando
un cliente realiza un pedido en línea específica si requiere una Bicicleta MTB o de Ruta y el fabricante
solicita a sus proveedores el cuadro (Ruta o MTB), el fabricante aplica el acabado solicitado por el cliente
(color), adicionalmente solicita a otro proveedor el tipo de equipamiento de la bicicleta que en ambos
casos (Ruta o MTB), es estándar, competición, o profesional.
a. El objeto Bicicleta cuenta entre sus atributos, con número de serie, y debe recibir como
parámetros objetos de tipo cuadro, y equipamiento.
b. El objeto Cuadro está compuesto por id, y tipo (Ruta o MTB)
c. El objeto Equipamiento está compuesto por id, y tipo (estándar, competición o profesional)
d. Demuestre el uso de las clases anteriores en una clase adicional que contenga el método main()

- Quitar este
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

13. Resuelva el caso anterior considerando “agregación-composición” en lugar de pasar objetos como
parámetros.

nombre la clase

imagen de la clase

Bicicleta.java

package Trece;

public class Bicicleta {


private String nSerie;
private String color;
private Cuadro cuadro;
private Equipamiento equipamiento;

// constructor
public Bicicleta(String nSerie, String color, Cuadro cuadro, Equipamiento
equipamiento) {
this.nSerie = nSerie;
this.color = color;
this.cuadro = cuadro;
this.equipamiento = equipamiento;
}

// getters y setters
public String getnSerie() {
return nSerie;
}

public void setnSerie(String nSerie) {


this.nSerie = nSerie;
}

public String getColor() {


return color;
}

public void setColor(String color) {


this.color = color;
}

public Cuadro getCuadro() {


return cuadro;
}

public void setCuadro(Cuadro cuadro) {


this.cuadro = cuadro;
}

public Equipamiento getEquipamiento() {


return equipamiento;
}

public void setEquipamiento(Equipamiento equipamiento) {


Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

this.equipamiento = equipamiento;
}

@Override
public String toString() {
StringBuilder datos = new StringBuilder("<-- DATOS -->\n");
datos.append("No. Serie: ").append(this.nSerie).append("\n");
datos.append("Color: ").append(this.color).append("\n");
datos.append("Cuadro: ").append(getCuadro().getTipo()).append("\n");
datos.append("Equipamiento: ").append(getEquipamiento().getTipo()).append("\
n");

return datos.toString();
}

Cuadro.java

package Trece;

public class Cuadro {


private String id;
private String tipo;

public Cuadro(String id, String tipo){


this.id=id;
this.tipo=tipo;
}

//Getters y Setters

public String getId() {


return id;
}

public void setId(String id) {


this.id = id;
}

public String getTipo() {


return tipo;
}

public void setTipo(String tipo) {


this.tipo = tipo;
}

public String toString(){


StringBuilder obj= new StringBuilder("Datos del cuadro:\n")
.append("Id del cuadro"+this.id).append("\n")
.append("Tipo del cuadro"+this.tipo).append("\n");

return obj.toString();
}
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

Equipamiento.java

package Trece;

public class Equipamiento {


private String id;
private String tipo;

public Equipamiento(String id, String tipo){


this.id=id;
this.tipo=tipo;
}

public String getId() {


return id;
}

public void setId(String id) {


this.id = id;
}

public String getTipo() {


return tipo;
}

public void setTipo(String tipo) {


this.tipo = tipo;
}

@Override
public String toString(){
StringBuilder x= new StringBuilder("Datos del Equipamiento")
.append("Id del equipamiento"+this.id).append("\n")
.append("Tipo del equipamiento"+this.tipo).append("\n");

return x.toString();

MainBicicleta.java

package Trece;
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

public class MainBicicleta {


public class Main {
public static void main(String[] args) {
Cuadro mtb= new Cuadro("3324", "De Montaña");
Equipamiento competicion = new Equipamiento("2312", "Competición");

//crear objetos
Bicicleta x = new Bicicleta("3354", "Morado", mtb, competicion);

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

}
}

14. Utilizando el criterio de agregación-composición, considere la clase vehículo, que está compuesta por la
clase motor, carrocería, y equipamiento. Determine los atributos convenientes para motor, carrocería y
equipamiento.
a. Demuestre el uso de las clases anteriores en una clase adicional que contenga el método main()

nombre la clase

imagen de la clase

Vehiculo.java

package Catorce;

public class Vehiculo {


private String marca;
private String modelo;
private Motor motor;
private Carroceria carroceria;
private Equipamiento equipamiento;

public Vehiculo(String marca, String modelo, Motor motor, Carroceria carroceria,


Equipamiento equipamiento) {
this.marca = marca;
this.modelo = modelo;
this.motor = motor;
this.carroceria = carroceria;
this.equipamiento = equipamiento;
}
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

// Getter y Setter
public String getMarca() {
return marca;
}

public String getModelo() {


return modelo;
}

public Motor getMotor() {


return motor;
}

public Carroceria getCarroceria() {


return carroceria;
}

public Equipamiento getEquipamiento() {


return equipamiento;
}

public void setMarca(String marca) {


this.marca = marca;
}

public void setModelo(String modelo) {


this.modelo = modelo;
}

public void setMotor(Motor motor) {


this.motor = motor;
}

public void setCarroceria(Carroceria carroceria) {


this.carroceria = carroceria;
}

public void setEquipamiento(Equipamiento equipamiento) {


this.equipamiento = equipamiento;
}

@Override
public String toString() {
StringBuilder cadena = new StringBuilder("DATOS DEL VEHICULO").append("\n")
.append("MARCA: ").append(this.marca).append("\n")
.append("MODELO: ").append(this.modelo).append("\n")
.append(this.motor.toString()).append("\n")
.append(this.carroceria.toString()).append("\n")
.append(this.equipamiento.toString()).append("\n");

return cadena.toString();
}
}

Motor.java
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

package Catorce;

public class Motor {


private int potencia;
private String tipoMotor;
private double cc;

public Motor(int potencia, String tipoMotor, double cc) {


this.potencia = potencia;
this.tipoMotor = tipoMotor;
this.cc = cc;
}

//Getter y Setter
public int getPotencia() {
return potencia;
}

public String gettipoMotor() {


return tipoMotor;
}

public double getcc() {


return cc;
}

public void setPotencia(int potencia) {


this.potencia = potencia;
}

public void settipoMotor(String tipoMotor) {


this.tipoMotor = tipoMotor;
}

public void setCc(double cc) {


this.cc = cc;
}

@Override
public String toString() {
StringBuilder cadena = new StringBuilder("<-- DATOS DEL MOTOR --
>").append("\n")
.append("POTENCIA: ").append(this.potencia).append("\n")
.append("TIPO DE COMBUSTIBLE: ").append(this.tipoMotor).append("\n")
.append("Cilindrada: ").append(this.cc).append("\n");

return cadena.toString();
}
}

Carroceria.java

package Catorce;

public class Carroceria {


private int cPuertas;
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

private String tipoCarroceria;


private String color;
private String material;

public Carroceria(int cPuertas, String tipoCarroceria, String color, String


material) {
this.cPuertas = cPuertas;
this.tipoCarroceria = tipoCarroceria;
this.color = color;
this.material = material;
}

// Getter y Setter
public int getcPuertas() {
return cPuertas;
}

public String getTipoCarroceria() {


return tipoCarroceria;
}

public String getColor() {


return color;
}

public String getMaterial() {


return material;
}

public void setcPuertas(int cPuertas) {


this.cPuertas = cPuertas;
}

public void setTipoCarroceria(String tipoCarroceria) {


this.tipoCarroceria = tipoCarroceria;
}

public void setColor(String color) {


this.color = color;
}

public void setMaterial(String material) {


this.material = material;
}

@Override
public String toString() {
StringBuilder cadena = new StringBuilder("DATOS DE CARROCERÍA").append("\n")
.append("CANTIDAD DE PUERTAS: ").append(this.cPuertas).append("\n")
.append("TIPO DE CARROCERIA: ").append(this.tipoCarroceria).append("\n")
.append("COLOR: ").append(this.color).append("\n")
.append("MATERIAL: ").append(this.material).append("\n");

return cadena.toString();
}
}
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

Equipamiento.java

package Catorce;

public class Equipamiento {


private String sistemaSonido;
private boolean aireAcondicionado;
private boolean airbag;

public Equipamiento(String sistemaSonido, boolean aireAcondicionado, boolean


airbag) {
this.sistemaSonido = sistemaSonido;
this.aireAcondicionado = aireAcondicionado;
this.airbag=airbag;
}

// Getters y Setters
public String getSistemaSonido() {
return sistemaSonido;
}

public boolean getAireAcondicionado() {


return aireAcondicionado;
}

public boolean getairbag() {


return airbag;
}

public void setSistemaSonido(String sistemaSonido) {


this.sistemaSonido = sistemaSonido;
}

public void setAireAcondicionado(boolean aireAcondicionado) {


this.aireAcondicionado = aireAcondicionado;
}

public void setAirbag(boolean airbag) {


this.airbag = airbag;
}

@Override
public String toString(){
StringBuilder x = new StringBuilder("DATOS DEL EQUIPAMIENTO").append("\n")
.append("Sistemas de sonido: ").append(this.sistemaSonido).append("\n")
.append("Aire acondicionado: ").append(this.aireAcondicionado).append("\n")
.append("Airbag: ").append(this.airbag).append("\n");

return x.toString();
}
}

DatosVehiculo.java

package Catorce;
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

public class DatosVehiculo {


public Vehiculo makeVehiculo() {
String mx = Leer.LeerString("Marca :?");
String my = Leer.LeerString("Modelo :?");

// Motor
int potencia = Leer.leerEntero("Potencia :?");
String tipoMotor = Leer.LeerString("Tipo de combustible :?");
double cc = Leer.leerDouble("Cilindrada :?");
Motor x = new Motor(potencia, tipoMotor, cc);

// Carroceria
int cPuertas = Leer.leerEntero("Cantidad de puertas :?");
String tipoCarroceria = Leer.LeerString("Tipo de carroceria :?");
String color = Leer.LeerString("Color :?");
String material = Leer.LeerString("Material :?");
Carroceria y = new Carroceria(cPuertas, tipoCarroceria, color, material);

// Equipamiento
String sistemaSonido = Leer.LeerString("Sistema de sonido :?");
boolean aireAcondicionado = Leer.leerBoolean("Aire acondicionado :?");
boolean airbag = Leer.leerBoolean("Airbag :?");
Equipamiento z = new Equipamiento(sistemaSonido, aireAcondicionado, airbag);

return new Vehiculo(mx, my, x, y, z);


}
}

Leer.java

package Catorce;

import static javax.swing.JOptionPane.*;

public class Leer {

public static String LeerString(String msg) {


return showInputDialog(null, msg);
}

public static int leerEntero(String msg) {


return Integer.parseInt(showInputDialog(null, msg));
}

public static double leerDouble(String msg){


return Double.parseDouble(showInputDialog(null,msg));
}

public static boolean leerBoolean(String msg){


return Boolean.parseBoolean(showInputDialog(null, msg));
}

public static void showDatos(String msg) {


showMessageDialog(null, msg);
}
}
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

Main.java

package Catorce;

public class Main {


public static void main(String[] args) {

Vehiculo x = new DatosVehiculo().makeVehiculo();


Leer.showDatos(x.toString());

x.setMarca("Mustang Shelby");
x.setModelo("GT500");
x.getCarroceria().setColor("Negro");
x.getMotor().setPotencia(2000);
x.getEquipamiento().setAirbag(false);
Leer.showDatos(x.toString());

}
}

● Modelar clases con UML y generar código Java con la estructura básica del proyecto.
● Uso de constructores
● Paso de arreglos de objetos como parámetros, en constructores y métodos.
● Crear objetos y demostrar el uso de las clases creadas.

15. Desarrolle un programa que contemple la clase Estudiante, con los siguientes atributos: nombre,
apellidos, calificación , edad. Considere los siguientes aspectos.
a. Desarrolle la clase estudiante.
b. Contemple una segunda clase que procese un arreglo de objetos de tipo estudiante y obtenga el
promedio del grupo (considere un arreglo de cinco elementos)
c. Demuestre el uso de las clases anteriores en una clase adicional que contemple el método main.

nombre la clase

imagen de la clase

Estudiante.java

package Quince;

public class Estudiante {


private String nombre;
private String apellido;
private int edad;
private double calificacion;

public Estudiante(String nombre, String apellido, double calificacion, int edad)


{
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

this.nombre = nombre;
this.apellido = apellido;
this.calificacion = calificacion;
this.edad = edad;
}

public String getNombre() {


return nombre;
}

public void setNombre(String nombre) {


this.nombre = nombre;
}

public String getApellido() {


return apellido;
}

public void setApellido(String apellido) {


this.apellido = apellido;
}

public double getCalificacion() {


return calificacion;
}

public void setCalificacion(double calificacion) {


this.calificacion = calificacion;
}

public int getEdad() {


return edad;
}

public void setEdad(int edad) {


this.edad = edad;
}

@Override
public String toString() {
StringBuilder x = new StringBuilder()
.append("ESTUDIANTE { NOMBRE: ").append(this.nombre)
.append(", APELLIDO: ").append(this.apellido)
.append(", CALIFICACION: ").append(this.calificacion)
.append(", EDAD: ").append(this.edad)
.append("}");
return x.toString();
}
}

PromedioGrupo.java

package Quince;

public class PromedioGrupo {


private Estudiante[] x;
private int cont=0;
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

public PromedioGrupo(Estudiante[] x) {
this.x=x;
}

public void getPromGrupo() {


double cal=0;
for (Estudiante estudiante : x) {
cal=cal+estudiante.getCalificacion();
}
System.out.println("PROMEDIO GRUPAL: "+cal/5);
}

public Estudiante[] getX() {


return x;
}

public void setX(Estudiante[] x) {


this.x=x;
}

public void showArreglo() {


for (Estudiante estudiante : this.x) {
cont++;
System.out.println("Estudiante No. "+cont+" "+estudiante.toString());
}
}
}

Main.java

package Quince;

public class Main {


public static void main(String[] args) {
Estudiante[] Array = new Estudiante[5];

Array[0] = new Estudiante("Sergio", "Delgado", 100, 19);


Array[1] = new Estudiante("Rubén", "Lara", 100, 18);
Array[2] = new Estudiante("Grecia", "Garcia", 90, 18);
Array[3] = new Estudiante("Daniel", "López", 70, 19);
Array[4] = new Estudiante("Carolina", "Gutierrez", 70, 22);

PromedioGrupo x = new PromedioGrupo(Array);

System.out.println("Correspondiente al promedio de las calificaciones del


grupo");
x.showArreglo();
x.getPromGrupo();
}
}

16. Un almacén de un supermercado recibe una amplia gama de productos que debe trasladar
inmediatamente a las diversas zonas de ventas. Todos los productos que recibe se cuentan con id,
nombre, descripción y precio de venta.
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

a. Desarrolle la clase Producto.


b. Contemple una segunda clase que procese un arreglo de objetos de tipo Producto y obtenga la
suma total del valor de mercancía recibida (considere un arreglo de cinco elementos)
c. Demuestre el uso de las clases anteriores en una clase adicional que contemple el método main.

nombre la clase

imagen de la clase

Producto.java

package Diesciseis;

public class Producto {


private String id;
private String nombre;
private String descripcion;
private double precioVenta;

public Producto(String id, String nombre, String descripcion, double


precioVenta) {
this.id = id;
this.nombre = nombre;
this.descripcion = descripcion;
this.precioVenta = precioVenta;
}

// 04 Getter y Setter
public String getId() {
return id;
}

public String getNombre() {


return nombre;
}

public String getDescripcion() {


return descripcion;
}

public double getPrecioVenta() {


return precioVenta;
}

public void setId(String id) {


this.id = id;
}

public void setNombre(String nombre) {


this.nombre = nombre;
}

public void setDescripcion(String descripcion) {


this.descripcion = descripcion;
}
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

public void setPrecioVenta(double precioVenta) {


this.precioVenta = precioVenta;
}

// 05 Metodo toString()
@Override
public String toString() {
StringBuilder cadena = new StringBuilder();
cadena.append("PRODUCTO {id: ").append(this.id);
cadena.append("NOMBRE: ").append(this.nombre);
cadena.append("DESCRIPCIÓN: ").append(this.descripcion);
cadena.append("PRECIO DE VENTA: ").append(this.precioVenta);
cadena.append("}");
return cadena.toString();
}

TotalMercancias.java

package Diesciseis;

public class TotalMercancias {


private Producto[] x;
private int cont=0;

public TotalMercancias(Producto[] x) {
this.x = x;
}

public void getSumaMercancia() {


double sumaTotal = 0;
for (Producto producto : this.x) {
sumaTotal+=producto.getPrecioVenta();
}
System.out.println("LA SUMA TOTAL DE MERCANCIAS RECIBIDAS ES: $" +
sumaTotal);
}

public Producto[] getX() {


return x;
}

public void setX(Producto[] x) {


this.x = x;
}

public void showArray(){


for (Producto producto : this.x) {
cont++;
System.out.println("PRODUCTO No."+ cont +"->"+ producto.toString());
}
}
}
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

Main.java

package Diesciseis;

public class Main {


public static void main(String[] args) {
Producto[] Array = new Producto[5];
Array[0] = new Producto("43440", "Maíz", "Maíz Tostado", 0.88);
Array[1] = new Producto("70770", "Café", "Café olombiano", 10.90);
Array[2] = new Producto("70655", "Pan", "Pan de cosecha Integral", 40.80);
Array[3] = new Producto("55066", "Huevos", "Huevos blancos de granja",
110.55);
Array[4] = new Producto("50542", "Cebolla", "Cebolla morada", 15.45);

TotalMercancias x = new TotalMercancias(Array);

System.out.println("Correspondiente a los productor recibidos");


x.showArray();
x.getSumaMercancia();
}
}

17. Una empresa editorial de publicaciones en versiones en físico de lujo, maneja la producción de libros. De
cada producto (libro) cuenta con un id, titulo, precio de venta, autor y porcentaje de regalías a entregar al
autor por cada venta.
a. Desarrolle la clase Libro.
b. Contemple una segunda clase que procese un arreglo de objetos de tipo Libro y obtenga el total
de productos en venta. Contenga un método que genere un reporte financiero que indique título
del libro, precio de venta y cantidad en regalías a otorgar al autor por la venta del libro (cantidad
monetaria), (considere un arreglo de cinco elementos)
c. Demuestre el uso de las clases anteriores en una clase adicional que contemple el método main.

nombre la clase

imagen de la clase

Editorial.java

package Diescisiete;

public class Editoral {

private Libro[] x;
private int cont=0;

public Editoral(Libro[] x) {
this.x=x;
}

public void getReporte() {


System.out.println("\nReporte financiero:");
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

for (Libro libro : x) {


double regalias = libro.getCalcularRegalias();
System.out.println("Título: " + libro.getTitulo());
System.out.println("Precio de venta: $" + libro.getPrecioVenta());
System.out.println("Cantidad de regalías a otorgar al autor: $" +
regalias);
System.out.println("<-------------------------------->");
}
}

public Libro[] getX() {


return x;
}

public void setX(Libro[] x) {


this.x=x;
}

public void getTotal() {


int totalProductos=0;
totalProductos=cont;
System.out.println("Total de productos en venta: "+totalProductos);

public void showArray() {


for (Libro libro : this.x) {
cont++;
System.out.println("Libro No."+cont+">>"+libro.toString());
}
}
}

Libro.java

package Diescisiete;

public class Libro {


private int id;
private String titulo;
private double precioVenta;
private String autor;
private double p;

public Libro(int id, String titulo, double precioVenta, String autor, double p)
{
this.id=id;
this.titulo=titulo;
this.precioVenta=precioVenta;
this.autor=autor;
this.p=p;
}

// Getter y Setter

public double getCalcularRegalias() {


return this.precioVenta * this.p/100;
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

public int getId() {


return id;
}

public String getTitulo() {


return titulo;
}

public double getPrecioVenta() {


return precioVenta;
}

public String getAutor() {


return autor;
}

public double getP() {


return p;
}

public void setId(int id) {


this.id = id;
}

public void setTitulo(String titulo) {


this.titulo = titulo;
}

public void setPrecioVenta(double precioVenta) {


this.precioVenta = precioVenta;
}

public void setAutor(String autor) {


this.autor = autor;
}

public void setP(double p) {


this.p = p;
}

// 05 Metodo toString()
@Override
public String toString() {

StringBuilder x = new StringBuilder()


.append("Libro >id: ").append(this.id)
.append(", Título: ").append(this.titulo)
.append(", Precio de venta: ").append(this.precioVenta)
.append(", Autor: ").append(this.autor)
.append(", Porcentaje de Regalias: ").append(this.p)
.append("<");
return x.toString();

}
}
Nombre: Díaz Medina Omar Alberto

No. Ctr.: 22400580

Main.java

package Diescisiete;

public class Main{


public static void main(String[] args) {
Libro[] Array = new Libro[5];

Array[0] = new Libro(1, "Libro 1", 40.65, "Autor 1", 15);


Array[1] = new Libro(2, "Libro 2", 50.75, "Autor 2", 14.5);
Array[2] = new Libro(3, "Libro 3", 60.85, "Autor 3", 20);
Array[3] = new Libro(4, "Libro 4", 70.95, "Autor 4", 10);
Array[4] = new Libro(5, "Libro 5", 80.95, "Autor 5", 12.5);

Editoral var = new Editoral(Array);

System.out.println("Correspondiente a reporte financiero");

var.showArray();
var.getReporte();
var.getTotal();
}

● Modelar clases con UML y generar código Java con la estructura básica del proyecto.
● Incorpora en esta sección los laboratorios. Únicamente los laboratorios entregados.

18. Lab 01
19. Lab 02
20. Lab 03
21. Lab 04

También podría gustarte