viernes, 2 de diciembre de 2016

Ejemplo 4 : Composición

public classCirculo {
Punto origen;intradio;publicCirculo(intx, inty, intradio) {
origen = newPunto(x,y);this.radio = radio;
}
public voidmostrar() {
origen.mostrar();System.out.println("radio = " + radio);
}
public static void main(String args[]) {
Circulo cir= newCirculo(5, 5, 9);System.out.println( "visualizar datos del circulo" );cir.mostrar();
 }
}

Ejemplo 3 de composición

Capa  1
  public classPunto {intx;inty;publicPunto(intx, inty){
this.x = x;this.y = y;
}

publicPunto() {// llamada al otro constructorthis(-1, -1);
 }

public voidmostrar(){
System.out.println(“x = “ + x +” y = “ + y);
}

public static void main(String args[]) {
Punto pun1 = newPunto();Punto pun2 = newPunto(2,3);System.out.println( "visualizar datos del punto" );pun1.mostrar();pun2.mostrar();
}

}

Ejemplo 2 : Composición

package Datos;

public class Punto {
int x;
int y;
public Punto (int x, int y){
this.x=x;
this.y=y;
public Punto(y, y){
this(-1,-1); //Llamada al otro constructor
}

}
}

Capa 2

package Visualización;

import Datos.Punto;

public class Rumpunto {
Punto pun1= new Punto();
Punto pun2= new Punto(2,3);
}

Ejemplo 2 Asociación

Capa 1

package Asociacion;

public class Taxi {
private Conductor conductor;
private String matricula;

public Taxi(Conductor conductor, String matricula){
this.conductor=conductor;
this.matricula=matricula;
}

public void printMatricula(){
System.out.println(matricula);
}

public void printlConductor(){
String nombreConductor=conductor.getNombre();
System.out.println(nombreConductor);
}
}

Capa 2

package Asociacion;

public class Conductor {
private String nombre;

public Conductor(String nombre){
this.nombre=nombre;
}

public String getNombre() {
return nombre;
}


}

Capa 3

package Asociacion;

public class RunConductor {
public static void main(String [] args){
Conductor miConductor=new Conductor("Angie");
Taxi miTaxi=new Taxi(miConductor, "ABC-123");
miTaxi.printlConductor();
miTaxi.printMatricula();
}
}

Restaurante: Tres paquetes

Primera Capa

package Datos;

import logica.Mesas;

public class Restaurante {

private Mesas [] mesa;

public Mesas[] getMesa() {
return mesa;
}

public void setMesa(Mesas[] m) {
this.mesa = m;
}

}

Segunda Capa


package logica;

public class Mesas {
private String pedido;
private double valor;
private String Estado;
private double CuentaT;
 
public double getCuentaT() {
return CuentaT;
}
public void setCuentaT(double cuentaT) {
CuentaT = cuentaT;
}
public Mesas(String p, String e, double v){
pedido=p;
valor=v;
Estado=e;
}
public String getPedido() {
return pedido;
}
public void setPedido(String pedido) {
this.pedido = pedido;
}
public double getValor() {
return valor;
}
public void setValor(double valor) {
this.valor = valor;
}
public String getEstado() {
return Estado;
}
public void setEstado(String estado) {
Estado = estado;
}
 
 
}
Tercera Capa

package logica;
import java.util.Scanner;
import java.util.Random;

import Datos.Restaurante;

public class Metodos {
Scanner kai= new Scanner(System.in);
Restaurante [][] restaurante= new Restaurante[2][5];
Mesas [] m= new Mesas[11];
Restaurante r= new Restaurante();
public void MenúPrincipal(){
boolean again=true;
int mesaobt=0;
 while (again==true){
System.out.println("¡Buenos días!, bienvenido al restaurante \"Delicias kai\"");
System.out.println("¿qué desea hacer?");
System.out.println("<1> Obtener una mesa");
 System.out.println("<2> Mostrar cuenta");
  System.out.println("<3> Mostrar recaudo total (Opción sólo para administradores) ");
  System.out.println("<4> Hasta luego.");
 
int opc=kai.nextInt();
switch(opc){  
case 1 : 
ObtenerMesa();
mesaobt=1;
break;
case 2:
if (mesaobt==1){
Cuenta();
}
else{
System.out.println("Su petición no puede ser ejecutada porque no ha obtenido una mesa todavía");
}
break;
case 3:
if(mesaobt==1){
Total();
}
else {
System.out.println("Lo siento, pero parece que aún no han habido clientes, trata más tarde de nuevo.");
}
break;
case 4:
System.out.println("Muchas gracias por su compra, espero nos veamos pronto de nuevo.");
again=false;
break;
default:System.out.println("Lo siento, pero no hay realmente una opción así, por favor intenta otra");
}
}
}
public void Total(){
double RT = 0;
for (int i=0; i<=10;i++){
RT= RT+ m[i].getCuentaT();
}
System.out.println("El día de hoy se han recaudado $"+RT);
}
public void Cuenta(){
System.out.println("Ingrese el número de su mesa, por favor");
int r=kai.nextInt();
System.out.println("Mesa #"+r+" \nTiene una cuenta de $"+m[r].getCuentaT());
m[r].setEstado("Vacío");
}
public void LlenarI(){
String p, e;
double v;
 
for (int k=0;k<m.length;k++){
p="Ninguno";
e="Vacío";
v=0;
m[k]=new Mesas(p,e,v);
       }
      
}
public void ObtenerMesa(){
Random rnd = new Random();
boolean again=true;
while (again==true){
int random2 =(int)(rnd.nextDouble() * 10 + 1);
System.out.println(random2);
if(m[random2].getEstado().equals("Vacío")){
m[random2].setEstado("Lleno");
System.out.println("Su mesa es la  #"+ (random2));
Menú (random2);
again=false;
}
else{
System.out.println("La mesa #"+random2+" está ocupada.");
}
 
}
 
}
public void Menú(int r){
boolean again=true;
double Cuenta=0;
while(again==true){
System.out.println("¿Qué desea comer?");
System.out.println("<1> Pollo y bebida ($26.000)");
System.out.println("<2> Pescado y bebida($41.000)");
System.out.println("<3> Carne y bebida($39.000)");
System.out.println("<4> Nada más");
int opc1=kai.nextInt();
switch(opc1){
case 1: 
m[r].setPedido("Pollo y bebida");
Cuenta=Cuenta+26000;
break;
case 2: 
m[r].setPedido("Pescado y bebida");
Cuenta=Cuenta+41000;
break;
case 3:
m[r].setPedido("Carne y bebida");
Cuenta=Cuenta+39000;
break;
case 4:
System.out.println("Está bien, espere su orden con calma.");
again=false;
break;
}
}
m[r].setCuentaT(Cuenta);
}
}

Cuarta Capa

package Visualizaciójn;
import java.util.Scanner;
import logica.Metodos;

public class RumRestaurante {
static Scanner kai= new Scanner(System.in);
public static void main(String[]args){
Metodos m= new Metodos();
m.LlenarI();
m.MenúPrincipal();
}
}

Ejemplo 2 Try- Catch

Ejemplo :

JOptionPane.showMessageDialog(null, "¡Bienvenido a Kai Restaurant!");
while(again==true){
srtopón=JOptionPane.showInputDialog(" Seleccione qué desea hacer: \n<1> Obtener una mesa. \n<2>Pagar la cuenta. \n <3> Salir.");
try{
opcion=Integer.parseInt(srtopón);
}
catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null, "Lo siento, pero solamente se permite el dígito de números en esta elección");
}

Ejemplo Try- Catch

Primera capa y única capa

public class Try1{
public static void main (String[]args){
int [] array= new int[20];
try{

array[-3]=24;//Si le pones el - te da una excepción
}
catch(Exception e){
System.out.println("No se puede");
}
//Si hay varios catch solo toma el primero, el segundo no
finally{
System.out.println(array[3]);
System.out.println("Fin");
}
}
}