Cita
-int numero -int tipo -double tarifa -double valorFinal
+Cita(int numero, int tipo, double tarifa) + int getNumero() +String getTipo() +double getTarifa() +double calcularValorFinal()
Notas: • El método getTipo() debe retornar un String que puede ser “especialista” o “general”, será general si la cita es tipo 1, 2 o 3 y será especialista si el tipo de cita es 4 o 5. • El valor final de la cita depende de la tarifa y el tipo de cita, las citas de tipo “especialista” tienen un incremento del 50% sobre la tarifa y las citas de tipo “general” tiene un descuento del 50% sobre la tarifa. Cree la clase Principal.java donde solicite al usuario los datos para crear una cita (objeto de la clase Cita) y a continuación presente los siguientes mensajes: El número de la cita es: XXXXXX Esta cita es de tipo: XXXXXXXX Su tarifa normal es: XXXXXXXX Pero por ser de tipo XXXXXXXX queda con un valor final de XXXXXXXX
package EjerciciosJava;
public class Cita {
int numero;
int tipo;
double tarifa;
double valorFinal=0;
public Cita(int numero, int tipo, double tarifa)
{
this.numero=numero;
this.tipo=tipo;
this.tarifa=tarifa;
}
public int getNumero()
{
return numero;
}
public String getTipo()
{
if(tipo<=3)
return "General";
else
return "Especialista";
}
public double getTarifa()
{
return tarifa;
}
public double calcularValorFinal()
{
double percent=tarifa*0.5;
if(tipo<=3){
valorFinal=tarifa-percent;
}
else{
valorFinal=tarifa+percent;
}
return valorFinal;
}
}
package EjerciciosJava;
import javax.swing.JOptionPane;
public class Principal1 {
public static void main(String[] args) {
int numero =Integer.parseInt(JOptionPane.showInputDialog(null,"Introduzca el numero de la cita"));
int tipo = Integer.parseInt(JOptionPane.showInputDialog(null, "Introduzca el tipo de cita (Para general: 1, 2 y 3 y para especialista: 4 y 5)"));
double tarifa = Double.parseDouble(JOptionPane.showInputDialog(null, "Introduzca la tarifa"));
Cita cita= new Cita(numero,tipo,tarifa);
System.out.println("El numero de la cita es: "+cita.getNumero());
System.out.println("El tipo de cita es: "+ cita.getTipo());
System.out.println("Su tarifa normal es: "+ cita.getTarifa());
System.out.println("Pero por ser de tipo " + cita.getTipo() + " queda con un valor final de: " + cita.calcularValorFinal());
}
}
2. Cree y compile la siguiente clase:
Bus
-String placa
-int capacidadPasajeros
-double precioPasaje
-int pasajerosActuales
- int totalPasajeros
+Bus (String placa, int capacidad, double pasaje)
+String getPlaca()
+int getCapacidad()
+double getPrecioPasaje()
+int getPasajerosTotales()
+int getPasajerosActuales()
+void subirPasajeros(int pasajeros)
+void bajarPasajeros(int pasajeros)
+double getDineroAcumulado()
Notas:
• getPlaca: Obtiene la placa del bus
• getCapacidad: Obtiene la capacidad de pasajeros del bus
• getPrecioPasaje: Obtiene el valor del pasaje
• getPasajerosActuales: Obtiene el número de pasajeros que se
encuentra en el bus
• getPasajerosTotales: Obtiene el número de pasajeros que se han
subido al bus
• subirPasajeros: sube una cantidad de pasajeros al bus, teniendo en
cuenta que no sobrepase la capacidad del bus.
• bajarPasajeros: baja una cantidad de pasajeros del bus, teniendo en
cuenta que no baje más pasajeros de los que realmente existen en el bus.
• getDineroAcumulado: Obtiene todo el dinero que ha acumulado el bus
teniendo en cuenta todos los pasajeros que se han subido y el valor del
pasaje.
Cree y compile la clase Principal.java donde instancie un objeto de la clase
Bus y pruebe cada uno de sus métodos.
package EjerciciosJava;
import javax.swing.JOptionPane;
public class Bus {
String placa;
int capacidadPasajeros;
double precioPasaje;
int pasajerosActuales;
int totalPasajeros;
double dineroAcumulado;
public int pasajeroSsubidos;
int pasajeros1;
int totalAcumulado;
public Bus (String placa, int capacidad, double pasaje, int actuales){
this.placa=placa;
this.capacidadPasajeros=capacidad;
this.precioPasaje=pasaje;
this.pasajerosActuales=actuales;
}
public String getPlaca(){
return placa;
}
public int getCapacidad(){
return capacidadPasajeros;
}
public double getPrecioPasaje(){
return precioPasaje;
}
public int getPasajerosTotales(){
return totalPasajeros;
}
public int getPasajerosActuales(){
return pasajerosActuales;
}
public void subirPasajeros(int pasajeros){
if (pasajeros > capacidadPasajeros) {
JOptionPane.showMessageDialog(null, " No se pueden subir " + pasajeros + ", porque es SOBRECUPO ");
}
else {
if ((pasajerosActuales + pasajeros) > capacidadPasajeros) {
JOptionPane.showMessageDialog(null, " No se pueden subir " + pasajeros + ", porque es SOBRECUPO ");
}else{
totalPasajeros=pasajeros;
pasajerosActuales=pasajerosActuales+pasajeros;
totalAcumulado = pasajerosActuales + pasajeros;
}
}
}
public void getDineroAcumulado(){
dineroAcumulado=(pasajerosActuales*precioPasaje);
}
public double totalDineroAcumulado(){
return dineroAcumulado;
}
public void bajarPasajeros(int pasajeros1){
if (pasajeros1>pasajerosActuales) {
JOptionPane.showMessageDialog(null, "La cantidad de pasajeros que desea bajar es mayor al numero de pasajeros que actualmente hay en el bus!!!");
}
else{
pasajerosActuales=pasajerosActuales-pasajeros1;
}
}
}
package EjerciciosJava;
import javax.swing.JOptionPane;
public class Principal2 {
public static void main(String[] args) {
String placa=JOptionPane.showInputDialog("Digite placa del bus");
int capacidad=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese capacidad del bus"));
int actuales = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese numero de pasajeros que estan en el bus "));
double pasaje = Double.parseDouble(JOptionPane.showInputDialog(null,"Valor pasaje"));
if (actuales>capacidad) {
System.out.println("Error!!! El numero actual de pasajeros sobrepasa la capacidad del bus");
}else{
Bus bus = new Bus(placa,capacidad,pasaje,actuales);
int pasajeros=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese cantidad de pasajeros a subir al bus!"));
bus.subirPasajeros(pasajeros);
JOptionPane.showMessageDialog(null,"El numero de pasajeros actuales es: "+bus.getPasajerosActuales());
JOptionPane.showMessageDialog(null,"El bus tiene una capacidad de: "+bus.getCapacidad());
JOptionPane.showMessageDialog(null,"La placa del bus es: "+bus.getPlaca());
bus.getDineroAcumulado();
JOptionPane.showMessageDialog(null,"El numero de pasajeros que se han subido es: "+bus.getPasajerosTotales());
int pasajeros1= Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese numero de pasajeros que va a bajar del bus"));
bus.bajarPasajeros(pasajeros1);
JOptionPane.showMessageDialog(null,"El dinero acumulado es: $" + bus.totalDineroAcumulado());
}
}
}
3. Cree y compile la siguiente clase:
Cuenta
- String numero
- String tipo
- double saldoActual
- double saldoMinimo
+ Cuenta(int numero, String tipo, double valorInicial)
+ void consignar (double monto)
+ void retirar (double monto)
+ double getSaldo()
+ double getSaldoMinimo()
+ double getCapacidadCredito()
Notas:
• Las cuentas solo pueden ser de tipo “ahorro” o “crédito”
• El saldo mínimo de una cuenta es el 10% del valor inicial con que se
crea la cuenta.
• Consignar (double monto): incrementa el dinero de la cuenta con base
en el monto de dinero que se desea consignar.
• Retirar (double monto): retira el monto dado de la cuenta siempre y
cuando la cuenta no quede con un saldo inferior al saldo mínimo, si
esto ocurre, solo se retirará el dinero autorizado.
• getSaldo(): obtiene el saldo actual de la cuenta.
• getSaldoMinimo(): obtiene el saldo mínimo de la cuenta.
• getCapacidadCredito(): Para cuentas de ahorro, la capacidad de
crédito es igual a la diferencia entre al saldo actual y el saldo mínimo y
para cuentas de crédito, la capacidad de crédito es 3 veces el saldo actual.
Cree y compile la clase Principal.java y en ella cree un objeto de la clase
Cuenta y pruebe cada uno de sus métodos.
package EjerciciosJava;
import javax.swing.JOptionPane;
public class Cuenta {
/* ---------------------------/
/ Atributos de la clase cuenta/
/----------------------------*/
int numero;
String tipo;
double valorInicial;
double saldoActual;
double saldoMinimo;
double capacidad;
double autorizado;
double capacidadCredito;
/* ---------------------------/
/ Metodos de la clase Cuenta /
/----------------------------*/
// Metodo Constructor
Cuenta(int numero,String tipo,double valorInicial){
this.numero=numero;
this.tipo=tipo;
this.saldoActual=valorInicial;
this.valorInicial=valorInicial;
}
/* -----------------------------------/
/ Método para consignar en la cuenta /
/------------------------------------*/
public void consignar (double monto){
saldoActual=saldoActual+monto;
}
/* -----------------------------------/
/ Método para saber saldo mÃÂnimo /
/------------------------------------*/
double getSaldoMinimo(){
saldoMinimo=valorInicial*0.1;
return saldoMinimo;
}
/* -----------------------------------/
/ Método para retirar dinero de la cuenta /
/------------------------------------*/
public void retirar (double monto1){
saldoActual=saldoActual-monto1;
if (saldoActual<saldoMinimo) {
saldoActual=saldoActual+monto1;
autorizado=saldoActual-saldoMinimo;
JOptionPane.showMessageDialog(null, "No puede retirar ésta cantidad de dinero porque su saldo actual serÃÂa inferior a su saldo mÃÂnimo\n"
+ ", por lo tanto solo puede retirar: " + autorizado);
saldoActual=saldoActual-autorizado;
}
}
/* ----------------------------------/
/ Método para consultar saldo /
/-----------------------------------*/
double getSaldo(){
return saldoActual;
}
/* -------------------------------------------/
/ Método para conocer la capacidad de crédito/
/-------------------------------------------*/
double getCapacidadCredito(){
if ("ahorro".equals(tipo)) {
capacidadCredito=saldoActual-saldoMinimo;
}
if ("credito".equals(tipo)) {
capacidadCredito=saldoActual*3;
}
return capacidadCredito;
}
}
package EjerciciosJava;
import javax.swing.JOptionPane;
public class Principal3 {
public static void main(String[] args) {
/* --------------------------/
/ Captura de datos inicales /
/---------------------------*/
int numero=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de la cuenta"));
String tipo=JOptionPane.showInputDialog("Digite el tipo de cuenta, ahorro o credito");
double valorInicial=Double.parseDouble(JOptionPane.showInputDialog("Digite el valor que va a consignar inicialmente"));
/* --------------------------/
/ Creando el objeto Cuenta /
/---------------------------*/
Cuenta cuenta=new Cuenta(numero,tipo,valorInicial);
double monto=Double.parseDouble(JOptionPane.showInputDialog("Digite la cantidad de dinero a consignar"));
cuenta.consignar(monto);
cuenta.getSaldoMinimo();
double monto1=Double.parseDouble(JOptionPane.showInputDialog("Digite la cantidad de dinero a retirar"));
cuenta.retirar(monto1);
JOptionPane.showMessageDialog(null,"Su saldo Actual es: " + cuenta.getSaldo());
JOptionPane.showMessageDialog(null,"El saldo minimo de su cuenta es: " + cuenta.getSaldoMinimo());
JOptionPane.showMessageDialog(null,"Su capacidad de Credito es: " + cuenta.getCapacidadCredito());
}
}
4. A partir del siguiente diseño, cree las clases correspondientes y su respectivo código para generar los listados que se solicitan a continuación:
Banco
-String nombre -Cliente clientes[ ] -int numeroDeClientes
+ Banco(String nom) + String obtNombre() + void cambiarNombre(String nombre) + void adCliente(Cliente clie) + int obtNumClientes( ) + Cliente obtCliente(int posicion) + Cliente [ ] obtClientes( )
Cliente {abstract}
-String nombre
+ Cliente (String nombre) + String obtNombre( ) + abstract String obtIdentificacion( )
Empresa
-String nit -String representante
+Empresa(String nit,String nom,String r) + String obtIdentificacion( ) + String obtRepresentante( ) + String cambiarRepres(String repres)
Persona
-String cedula -int edad
+ Persona(String ced,String nom,int ed) + String obtIdentificacion( ) + String obtEdad( ) + void cumplirAños( )
package Ejercicios;
import javax.swing.JOptionPane;
class Banco{
String nombre;
Cliente clientes[];
int numeroDeClientes;
public Banco(String nomb){
this.nombre=nomb;
}
public String obtnombre(){
return nombre;
}
public void cambiarNombre(String nombre){
}
public void adCliente(Cliente clie){
}
public int obtNumClientes(){
return numeroDeClientes;
}
Cliente obtCliente(int posicion){
return null;
}
Cliente[] obtClientes(){
return null;
}
}
package Ejercicios;
abstract class Cliente{
protected String nombre;
public Cliente(String nom)
{
this.nombre=nom;
}
public String obtNombre() {
return nombre;
}
abstract String obtIdentificacion();
abstract String obtRepresentante();
abstract int obtEdad();
}
package Ejercicios;
class Empresa extends Cliente{
String nit;
String representante;
public Empresa(String n, String nom, String r){
super(nom);
this.nit=n;
this.representante=r;
}
public String obtIdentificacion(){
return nit;
}
public String obtRepresentante(){
return representante;
}
public String cambiarRepres(String repres){
return null;
}
public int obtEdad(){
return 1000;
}
}
4. A partir del siguiente diseño, cree las clases correspondientes y su respectivo código para generar los listados que se solicitan a continuación:
Banco
-String nombre -Cliente clientes[ ] -int numeroDeClientes
+ Banco(String nom) + String obtNombre() + void cambiarNombre(String nombre) + void adCliente(Cliente clie) + int obtNumClientes( ) + Cliente obtCliente(int posicion) + Cliente [ ] obtClientes( )
Cliente {abstract}
-String nombre
+ Cliente (String nombre) + String obtNombre( ) + abstract String obtIdentificacion( )
Empresa
-String nit -String representante
+Empresa(String nit,String nom,String r) + String obtIdentificacion( ) + String obtRepresentante( ) + String cambiarRepres(String repres)
Persona
-String cedula -int edad
+ Persona(String ced,String nom,int ed) + String obtIdentificacion( ) + String obtEdad( ) + void cumplirAños( )
package Ejercicios;
import javax.swing.JOptionPane;
class Banco{
String nombre;
Cliente clientes[];
int numeroDeClientes;
public Banco(String nomb){
this.nombre=nomb;
}
public String obtnombre(){
return nombre;
}
public void cambiarNombre(String nombre){
}
public void adCliente(Cliente clie){
}
public int obtNumClientes(){
return numeroDeClientes;
}
Cliente obtCliente(int posicion){
return null;
}
Cliente[] obtClientes(){
return null;
}
}
package Ejercicios;
abstract class Cliente{
protected String nombre;
public Cliente(String nom)
{
this.nombre=nom;
}
public String obtNombre() {
return nombre;
}
abstract String obtIdentificacion();
abstract String obtRepresentante();
abstract int obtEdad();
}
package Ejercicios;
class Empresa extends Cliente{
String nit;
String representante;
public Empresa(String n, String nom, String r){
super(nom);
this.nit=n;
this.representante=r;
}
public String obtIdentificacion(){
return nit;
}
public String obtRepresentante(){
return representante;
}
public String cambiarRepres(String repres){
return null;
}
public int obtEdad(){
return 1000;
}
}
package Ejercicios;
public class Persona extends Cliente{
String cedula;
int edad;
public Persona(String ced, String nom, int ed){
super(nom);
this.cedula=ced;
this.edad=ed;
}
public String obtIdentificacion(){
return cedula;
}
public int obtEdad(){
return edad;
}
public void cumpliranos(){
}
public String obtRepresentante(){
return null;
}
}
package Ejercicios;
import javax.swing.JOptionPane;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Principal4 {
private static Cliente per;
public static void main(String args[]) {
List<Cliente> lista = new ArrayList<>();
int numeroDeClientes = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese el numero de clientes"));
for (int i = 1; i <= numeroDeClientes; i++) {
int tipoCliente = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese el tipo de cliente: 1 para Empresa o 2 para Persona"));
String nom = JOptionPane.showInputDialog(null, "Ingrese el nombre del cliente");
if (tipoCliente == 1) {
String nit = JOptionPane.showInputDialog(null, "Ingrese el nit de la empresa");
String r = JOptionPane.showInputDialog(null, "Ingrese el representante");
Empresa emp = new Empresa(nit, nom, r);
emp.obtIdentificacion();
//Esta linea no se con que fin es
//emp.obtRepresentante();
//ESTA LINEA ES LA QUE UD BORRO, AQUI ES DONDE SE ASIGNA EL OBJETO AL ARRAY LIST
lista.add(emp);
} else {
String ced = JOptionPane.showInputDialog(null, "Ingrese la cedula de la persona");
int ed = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese la edad de la persona"));
Persona per = new Persona(ced, nom, ed);
//AQUI ES DONDE SE ASIGNA EL OBJETO AL ARRAY LIST
lista.add(per);
}
}
System.out.println("Todos los nombres que tiene el banco son: ");
for(int cuenta = 0; cuenta < lista.size(); cuenta++){
System.out.println(lista.get(cuenta).nombre);
}
System.out.println("Todos los nombres y cedulas de las personas clientes del banco son: ");
for(int cuenta = 0; cuenta < lista.size(); cuenta++){
if (lista.get(cuenta) instanceof Persona){
System.out.println("La cedula del cliente es "+lista.get(cuenta).obtIdentificacion());
System.out.println("El nombre del cliente es "+lista.get(cuenta).obtNombre());
}
}
System.out.println("Todos los nombres y representantes de cada empresa son: ");
for(int cuenta = 0; cuenta < lista.size(); cuenta++){
if (lista.get(cuenta) instanceof Empresa){
System.out.println("El nombre del cliente es "+lista.get(cuenta).obtNombre());
System.out.println("El nombre del representante es "+lista.get(cuenta).obtRepresentante());
}
}
System.out.println("Los nombres de los clientes menores de edad son: ");
for(int cuenta = 0; cuenta < lista.size(); cuenta++){
if (lista.get(cuenta) instanceof Persona){
if (lista.get(cuenta).obtEdad()<18){
System.out.println("El nombre del cliente es "+lista.get(cuenta).obtNombre());
}
}
}
int menor=1000;
for(int cuenta = 0; cuenta < lista.size(); cuenta++){
if (lista.get(cuenta) instanceof Persona){
if (lista.get(cuenta).obtEdad()>1){
if (lista.get(cuenta).obtEdad()<menor){
menor=lista.get(cuenta).obtEdad();
}
}
}
}
System.out.println("La edad del cliente mas joven es "+menor );
int mayor=0;
for(int cuenta = 0; cuenta < lista.size(); cuenta++){
if (lista.get(cuenta) instanceof Persona){
if (lista.get(cuenta).obtEdad()>18){
if (lista.get(cuenta).obtEdad()>mayor){
mayor=lista.get(cuenta).obtEdad();
}
}
}
}
System.out.println("La edad del cliente mas viejo es "+mayor);
}
}
hola jair de casualidad tienes el archivo compilado este codigo me arroja error al ejecutarlos me puedes escribir andressegurae@gmail.com
ResponderBorrarLos pego en NetBeans y me sale error :(
ResponderBorrarEste comentario ha sido eliminado por el autor.
ResponderBorrarMUY BIEN GRACIAS POR ESE TRABAJO ES SUPER A MI SI ME FUNCIONO MUY BIEN
ResponderBorrarGracias Bro.
ResponderBorrarMi proyecto es sistema y soporte de mantenimiento necesito realizar el laboratorio 6 este es mi correo yoselintumis24@gmail.com gracias☺☺
ResponderBorrar