viernes, 18 de noviembre de 2016

Ejemplo de asociación

En ese ejemplo se asocian las capas Conductor y Taxi para ser usadas posteriormente en el rum.


Primera Capa

package Datos;

public class Conductor {
private String Nombre;
public Conductor(String n){
Nombre=n;
}

public String getNombre() {
return Nombre;
}


}
---------------------------------------------------------------------------

Segunda Capa

package Datos;

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 printConductor(){
String nombreConductor = conductor.getNombre();
System.out.println(nombreConductor);
}
}
-----------------------------------------------------------------------------

Tercera Capa

package Visualización;

import Datos.Conductor;
import Datos.Taxi;

public class RumConductortaxi {
public static void main(String[]args){
Conductor c= new Conductor ("Jose");
Taxi t= new Taxi(c, "AHA-2017");
t.printConductor();
t.printMatricula();
 
}
}



jueves, 17 de noviembre de 2016

Prueba 1: Estudiante promedio

import java.util.Scanner;
public class logica {

   public static void main (String[] args) {
    Scanner kai= new Scanner(System.in);
    System.out.println("Escriba la cantidad i:");
    int indice= kai.nextInt();
    String[][] mUnidad= new String[indice][3];
  
     for (int i=0; i < mUnidad.length; i++) {
        // for (int j=0; j < mUnidad[i].length; j++) {
          System.out.println("Ingresa el nombre del estudiante "+ (i+1)+ " posiciòn: "+ 1);mUnidad[i][0]=kai.next();
    System.out.println("Ingresa el edad del estudiante "+ (i+1)+ " posiciòn: "+ 2);mUnidad[i][1]=kai.next();
    System.out.println("Ingresa el documento del estudiante "+( i+1)+ " posiciòn: "+ 3);mUnidad[i][2]=kai.next();
       //  }
     }
     for (int i=0; i < mUnidad.length; i++) {
         for (int j=0; j < mUnidad[i].length; j++) {
             System.out.print(mUnidad[i][j]+"\t");
         }
         System.out.println("");
     }
    try{
 //espera la pulsación de una tecla y luego RETORNO
         System.in.read();
     }catch (Exception ex) {  }
   }

}

Calculadora (Test)

Capa 1

public class calculadora {
 int resultado;
 public int sumar (int sum1, int sum2){
  resultado= sum1+ sum2;
  return resultado;
 
 }
 public int restar (int sum1, int sum2){
  resultado= sum1- sum2;
  return resultado;
 
 }
 public int borrar (){
  resultado=0;
  return resultado;
 }
}
------------------------------------------------------------------------------------
Capa 2

import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.*;
public class calculadoraTest {
 calculadora cal;
 @Test
 public void testSumar() {
  int esperado= cal.sumar(5, 8);
  int actual=13;
  assertEquals(esperado,actual);
 }
 @Test
 public void testRestar() {
  assertEquals(cal.restar(5, 3),2);
 }
 @After
 public void testBorrar() {
  System.out.println("Después");
  System.out.println(cal.borrar());
 }
 @Before
 public void testantes() {
  cal= new calculadora();
  System.out.println("Antes");
 
 }
}

Salas

Capa 1

public class Sala {
 private String []Computador;
 public String[] getComputador() {
  return Computador;
 }
 public void setComputador(String[] computador) {
  Computador = computador;
 }
}
-----------------------------------------------------------------------
Capa 2

package Datos;
public class Computador {
 String Serial;
 Float código;
 String SisOp;
 String Estado;
 public String getEstado() {
  return Estado;
 }
 public void setEstado(String estado) {
  Estado = estado;
 }
 public String getSerial() {
  return Serial;
 }
 public void setSerial(String serial) {
  Serial = serial;
 }
 public Float getCódigo() {
  return código;
 }
 public void setCódigo(Float código) {
  this.código = código;
 }
 public String getSisOp() {
  return SisOp;
 }
 public void setSisOp(String sisOp) {
  SisOp = sisOp;
 }

}
---------------------------------------------------------------------------------
Capa 3

package Interfaz;
import Lógica.logicasalas;
public class rumsala {
 static logicasalas l= new logicasalas();
 public static void main(String[]args){
  l.Menú();
 }
}

Contacto (Ejemplo)

Primera Capa


public class Contacto {
 String nombre;
 String apellido;
 int 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 int getEdad() {
  return edad;
 }
 public void setEdad(int edad) {
  this.edad = edad;
 }

}
------------------------------------------------------------------------------------------------
Segunda Capa

import java. util.Scanner;
public class Ejemploarreglo {
 public static void main (String[]args){
  Scanner kai= new Scanner(System.in);
  Contacto [] c = new Contacto [2];
  for (int j=0; j<c.length;j++){
  c[j]= new Contacto();

  System.out.println("Ingresa nombre "+ j);
  c[j].setNombre(kai.nextLine());
  System.out.println("Ingresa apellido "+ j);
  c[j].setApellido(kai.nextLine());
  System.out.println("Ingresa edad "+ j);
  c[j].setEdad(kai.nextInt());

kai.nextLine();


  }

  for (int i=0; i<c.length; i++){
   System.out.println(c[i].getNombre()+"\t"+c[i].getApellido()+"\t"+c[i].getEdad());
  }
 }
}


Promedio de un estudiante (Matriz)

Primera Capa

package Datos;
public class Estudiante {
 private String Nombre;
 private float código;
 private String carrera;
 private String Género;
 private double [] notas;
 public Estudiante(){
  Nombre="";
  código=0;
  carrera="";
  Género="";
  notas=new double[4];
 }
 public Estudiante(String n, float c, String ca,String g, double[]no){
  Nombre=n;
  código=c;
  carrera=ca;
  Género=g;
  notas=no;
 }
 public String getNombre() {
  return Nombre;
 }
 public void setNombre(String nombre) {
  Nombre = nombre;
 }
 public String getGénero() {
  return Género;
 }
 public void setGénero(String género) {
  Género = género;
 }
 public double[] getNotas() {
  return notas;
 }
 public void setNotas(double[] notas) {
  this.notas = notas;
 }
 public float getCódigo() {
  return código;
 }
 public void setCódigo(float código) {
  this.código = código;
 }
 public String getCarrera() {
  return carrera;
 }
 public void setCarrera(String carrera) {
  this.carrera = carrera;
 }


}

---------------------------------------------------------------------------------------------------------------------------

Segunda Capa


package Logica;
import java.util.Scanner;
import javax.swing.JOptionPane;
import Datos.Estudiante;
public class Logicaes {
 Scanner kai= new Scanner(System.in);
 public void Llenar(){
  Estudiante  e1[]=new Estudiante[3];//esta será la matriz de objetos
  ///e1[0].setNombre(kai.nextLine()); se puede hacer de esta manera aún dentro del for, pero es mejor usar el método de sobrecarga, que es el siguiente
  String Nombre, Género, carrera;
  float código;
  double[] notas= new double[4];
  for(int i=0; i<e1.length; i++){
   System.out.println("Ingrese el nombre del estudiante "+i);
   Nombre=kai.nextLine();
   System.out.println("Ingrese el género del estudiante "+i);
   Género=kai.nextLine();
   System.out.println("Ingrese su código ");
   código=kai.nextFloat();
   System.out.println("Ingrese su carrera");
   carrera=kai.nextLine();
   kai.nextLine();
   for(int j=0;j<notas.length;j++){
    System.out.println("Ingrese la nota número "+j);
    notas [j]=kai.nextDouble();
   }
   e1[i]=new Estudiante(Nombre,código, carrera, Género, notas);
   kai.nextLine();
  }
 
  Mostrar(e1);
 }
 public void Mostrar(Estudiante[] e1){
  double suma=0;
  for(int i=0; i< e1.length;i++){
   double[] matriz=new double[4];
   matriz=e1[i].getNotas();
   for (int j=0;j<matriz.length;j++){
    suma=suma+matriz[j];
   }
   System.out.println(e1[i].getNombre()+" "+e1[i].getGénero()+" "+e1[i].getCódigo()+" "+e1[i].getCarrera()+" "+suma+ " ");
  }
 }
}

---------------------------------------------------------------------------------------------------------------------------

Tercera Capa

package Interfaz;
import Logica.Logicaes;
public class Clasep {
 public static void main(String[]args){
  Logicaes l=new Logicaes();
  l.Llenar();
 }
}

Restaurante (Matriz)

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 Datos;
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());
 }
   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();
 }
}