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();
}
}
viernes, 2 de diciembre de 2016
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();
}
}
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
}
}
}
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);
}
}
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;
}
}
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");
}
}
}
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");
}
}
}
Quiz: Colecciones
Primera clase
package Datos;
publicclass Ciclista {
privateStringNombre;
privateStringNacionalidad;
privateDoubleTiempo;
public Ciclista(StringNombre, StringNacionalidad, doubleTiempo){
this.Nombre=Nombre;
this.Nacionalidad=Nacionalidad;
this.Tiempo=Tiempo;
}
publicStringgetNombre() {
returnNombre;
}
publicvoidsetNombre(Stringnombre) {
Nombre = nombre;
}
publicStringgetNacionalidad()
{
returnNacionalidad;
}
publicvoidsetNacionalidad(Stringnacionalidad) {
Nacionalidad = nacionalidad;
}
publicDoublegetTiempo() {
returnTiempo;
}
publicvoidsetTiempo(Doubletiempo) {
Tiempo = tiempo;
}
}
Segunda Clase
package Lógica;
importjava.util.ArrayList;
importjava.util.HashSet;
importjavax.swing.JOptionPane;
importDatos.Ciclista;
publicclass Campeonato {
HashSet<Ciclista>ciclistas= newHashSet<Ciclista>();
HashSet<String>Nombres= newHashSet<String>();
HashSet<String>Nacionalidad= newHashSet<String>();
publicvoidMenu(){
intopcion = 0, veces=0;
booleanagain=true;
JOptionPane.showMessageDialog(null, "¡Hola!,
Bienvenido al campeonato Internacional de ciclismo.");
while(again==true) {
Stringopcn =JOptionPane.showInputDialog("Por favor
seleccione qué desea hacer:\n <1>Ingresar Jugador. \n<2>Hacer
carrera.\n<3>Mostrar por equipos.\n<4>Salir.");
try{
opcion= Integer.parseInt(opcn);
}
catch(NumberFormatExceptione){
JOptionPane.showMessageDialog(null, "Lo siento,
solo puede digitar opciones que sean números");
}
switch(opcion){
case 1:
N();
break;
case 2:
if (ciclistas.size()>=4){
hacerCarrera();
}
else{
JOptionPane.showMessageDialog(null, "Lo siento,
pero debe inscribir a mínimo cuatro participantes antes de poder hacer la
carrera.\nHasta ahora hay "+ciclistas.size());
}
break;
case 3:
JOptionPane.showMessageDialog(null, "¡Hola!, este
método está en construcción por fallos técnicos, lo sentimos");
break;
case 4:
again=false;
break;
}
}
}
publicvoid N(){
booleanotravez=true;
while(otravez==true){
Stringnombre =JOptionPane.showInputDialog("Digite el
nombre del ciclista:");
for(Stringn:Nombres){
if (n==nombre){
JOptionPane.showMessageDialog(null, "Lo siento,
pero el nombre " +n+" Ya está en la lista, digite otro nombre, por favor");
}
else{
añadirCiclista(nombre);
Nombres.add(nombre);
otravez=false;
}
}
}
}
publicvoidañadirCiclista(Stringnombre){
Stringnacionalidad =JOptionPane.showInputDialog("Digite la
nacionalidad del ciclista");
Nacionalidad.add(nacionalidad);
Ciclista
v=newCiclista(nombre, nacionalidad, 0);
ciclistas.add(v);
}
publicvoidhacerCarrera(){
doublett, tiem, tttt;
for (Ciclista n: ciclistas){
StringTiempo =JOptionPane.showInputDialog("Digite el tiempo del ciclista"+ n);
tiem=Double.parseDouble(Tiempo);
tt=tt+tiem;
}
tttt=tt/2;
JOptionPane.showMessageDialog(null, "El tiempo
promedio es"+tttt);
Tercera Clase
package Visualización;
importLógica.Campeonato;
publicclassRumCampeonato {
publicstaticvoidmain(String[]args){
Campeonato
c= new Campeonato ();
c.Menu();
}
publicvoidhacerCarrera(){
doubleTo=0, n;
for (Ciclista n: ciclistas){
StringTiempo =JOptionPane.showInputDialog("Digite el
tiempo del ciclista"+ n);
To=Tiempo+To;
}
}
}
Suscribirse a:
Entradas (Atom)