viernes, 21 de octubre de 2016
Clases envolventes
public class Datos {
private Integer a= new Integer(45); // Integer sirve para manejar como objeto el 45
private Integer b= new Integer("50"); //Aqui sirve para guardar un caracter en un numero
public Integer getA() {
return a;
}
public void setA(Integer a) {
this.a = a;
}
public Integer getB() {
return b;
}
public void setB(Integer b) {
this.b = b;
}
}
----------------------------//_------------------------------------//--------------------------------------//-------------
public class Presentacion {
public static void main(String[]args)
{
Datos ejemplo=new Datos();
//Value
int a = ejemplo.getA().intValue(); // Sirve para guardar lo que hay en un metodo ajeno en una variable
int b= ejemplo.getB().intValue();
System.out.println("Dato primitivo entero: "+ ejemplo.getA());// Manera larga (sin Value)
System.out.println("Cadena de caracteres hechos enteros: "+ ejemplo.getB());
System.out.println("Dato primitivo entero: "+ a);
System.out.println("Cadena de caracteres hechos enteros: "+ b);//Manera Corta(Con Value)
System.out.println("Ejemplo 0.1: a+b="+(a+b)); //Manera corta
System.out.println("Ejemplo tres: con objetos: "+ (ejemplo.getA()+ejemplo.getB()));// Manera Larga
// Parse
int j= Integer.parseInt("5"); // Pasa un caracter numerico a entero (dentro del parentesis solo puede haber numeros)
System.out.println("Suma entre parse y un numero: j + 3= "+ (j+3));
//Value Of
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
float j1=Float.valueOf("10f");
System.out.println("No se que haga: "+ j1);
//Binario
Integer in2= Integer.valueOf("10", 2);
System.out.println("No se que haga 2: "+ in2);
System.out.println("Suma j1 + j= "+ (j1 + j));
}
}
Biblioteca
public class Datos {
private String [] arreglo;
public final static int TAMANHO=6;
private String[] revista;
public final static int TAMANHOD=6;
private String nombreU;
private String documentoI;
private int tipoU;
Datos()
{
arreglo=new String[TAMANHO];
revista= new String[TAMANHOD];
nombreU="";
documentoI="";
}
public String[] getArreglo() {
return arreglo;
}
public void setArreglo(int indice, String arreglo) {
this.arreglo[indice]=arreglo;
}
public String[] getRevista() {
return revista;
}
public void setRevista(int indice, String revista) {
this.revista[indice] = revista;
}
public String getNombreU() {
return nombreU;
}
public void setNombreU(String nombreU) {
this.nombreU = nombreU;
}
public String getDocumentoI() {
return documentoI;
}
public void setDocumentoI(String documentoI) {
this.documentoI = documentoI;
}
public int getTipoU() {
return tipoU;
}
public void setTipoU(int tipoU) {
this.tipoU = tipoU;
}
}
----------------------------------------//----------------------------------------------//--------------------------------
import java.util.Scanner;
public class Logica {
Datos datos= new Datos();
Scanner sc=new Scanner(System.in);
public void tipoU(int numero)
{
switch (numero)
{
case 1:
System.out.println("Prueba o");
prestamoO();
break;
case 2:
System.out.println("Prueba s");
//prestamoS();
break;
default:
System.out.print("Error, opción no valida. Vueve a intentar");
datos.setTipoU(sc.nextInt());
break;
}
}
public void prestamoO()
{
int op;
System.out.println("Ingresa tu documento de identidad");
datos.setDocumentoI(sc.next());
System.out.println("¿Qué desea retirar?");
System.out.println("1. Libro");
System.out.println("2. Revista");
op=sc.nextInt();
switch(op)
{
case 1:
prestamoLibro();
break;
case 2:
//prestamoRevista();
break;
default:
System.out.println("Opcion no valida. Vuelve a intentar");
op=sc.nextInt();
break;
}
}
public void prestamoLibro()
{
int cantidad;
System.out.println("¿Cuántos libros deseas retirar?");
cantidad=sc.nextInt();
while(cantidad>3)
{
System.out.println("Solo puedes retirar 3 libros");
System.out.println("¿Cuántos libros deseas retirar?");
cantidad=sc.nextInt();
}
while(cantidad<0)
{
System.out.println("No puedes retirar esa cantidad de libros");
System.out.println("¿Cuántos libros deseas retirar?");
cantidad=sc.nextInt();
}
for(int indice=0; indice<cantidad;indice++)
{
String nombreLibro;
System.out.println("Ingresa el nombre del libro");
nombreLibro=sc.next();
datos.setArreglo(indice, nombreLibro);
}
}
}
-------------------------------------------------//---------------------------------------------------//-------------//----
import java.util.Scanner;
public class Presentacionnnnnn {
public static void main(String[]args)
{
Scanner sc=new Scanner(System.in);
Logica logica= new Logica();
Datos datos= new Datos();
System.out.println("Bienvenido a la biblioteca");
System.out.println("Tipo de usuario:");
System.out.println("1. Ocasional");
System.out.println("2. Socio");
datos.setTipoU(sc.nextInt());
logica.tipoU(datos.getTipoU());
}
}
private String [] arreglo;
public final static int TAMANHO=6;
private String[] revista;
public final static int TAMANHOD=6;
private String nombreU;
private String documentoI;
private int tipoU;
Datos()
{
arreglo=new String[TAMANHO];
revista= new String[TAMANHOD];
nombreU="";
documentoI="";
}
public String[] getArreglo() {
return arreglo;
}
public void setArreglo(int indice, String arreglo) {
this.arreglo[indice]=arreglo;
}
public String[] getRevista() {
return revista;
}
public void setRevista(int indice, String revista) {
this.revista[indice] = revista;
}
public String getNombreU() {
return nombreU;
}
public void setNombreU(String nombreU) {
this.nombreU = nombreU;
}
public String getDocumentoI() {
return documentoI;
}
public void setDocumentoI(String documentoI) {
this.documentoI = documentoI;
}
public int getTipoU() {
return tipoU;
}
public void setTipoU(int tipoU) {
this.tipoU = tipoU;
}
}
----------------------------------------//----------------------------------------------//--------------------------------
import java.util.Scanner;
public class Logica {
Datos datos= new Datos();
Scanner sc=new Scanner(System.in);
public void tipoU(int numero)
{
switch (numero)
{
case 1:
System.out.println("Prueba o");
prestamoO();
break;
case 2:
System.out.println("Prueba s");
//prestamoS();
break;
default:
System.out.print("Error, opción no valida. Vueve a intentar");
datos.setTipoU(sc.nextInt());
break;
}
}
public void prestamoO()
{
int op;
System.out.println("Ingresa tu documento de identidad");
datos.setDocumentoI(sc.next());
System.out.println("¿Qué desea retirar?");
System.out.println("1. Libro");
System.out.println("2. Revista");
op=sc.nextInt();
switch(op)
{
case 1:
prestamoLibro();
break;
case 2:
//prestamoRevista();
break;
default:
System.out.println("Opcion no valida. Vuelve a intentar");
op=sc.nextInt();
break;
}
}
public void prestamoLibro()
{
int cantidad;
System.out.println("¿Cuántos libros deseas retirar?");
cantidad=sc.nextInt();
while(cantidad>3)
{
System.out.println("Solo puedes retirar 3 libros");
System.out.println("¿Cuántos libros deseas retirar?");
cantidad=sc.nextInt();
}
while(cantidad<0)
{
System.out.println("No puedes retirar esa cantidad de libros");
System.out.println("¿Cuántos libros deseas retirar?");
cantidad=sc.nextInt();
}
for(int indice=0; indice<cantidad;indice++)
{
String nombreLibro;
System.out.println("Ingresa el nombre del libro");
nombreLibro=sc.next();
datos.setArreglo(indice, nombreLibro);
}
}
}
-------------------------------------------------//---------------------------------------------------//-------------//----
import java.util.Scanner;
public class Presentacionnnnnn {
public static void main(String[]args)
{
Scanner sc=new Scanner(System.in);
Logica logica= new Logica();
Datos datos= new Datos();
System.out.println("Bienvenido a la biblioteca");
System.out.println("Tipo de usuario:");
System.out.println("1. Ocasional");
System.out.println("2. Socio");
datos.setTipoU(sc.nextInt());
logica.tipoU(datos.getTipoU());
}
}
Ejercicio de matriz
package Datos;
public class Datos {
private String datos[][];
public Datos()
{
this.datos=datos;
}
public String[][] getDatos() {
return datos;
}
public void setDatos(String[][] datos) {
this.datos = datos;
}
}
---------------------------------//-------------------------------------------//-------------------------------------------
package Logica;
import Datos.Datos;
import java.util.Scanner;
public class Logica {
Datos datos= new Datos();
public void pedir()
{
int numAlumnos, a;
Scanner sc=new Scanner(System.in);
System.out.println("Bienvenido");
System.out.println("¿Cuántos alumnos vas ingresar?");
numAlumnos= sc.nextInt();
String dato[][]=new String[numAlumnos][3]; // PREGUNTAR ¿POR QUÉ NO FUNCIONA CON 2 EN COLUMNAS?
for(int indiceF=0; indiceF<numAlumnos; indiceF++)
{
for(int indiceC=0; indiceC<=2;indiceC++)
{
if(indiceC==0)
{
System.out.println("Alumno "+ (indiceF+1));
System.out.println("Nombre: ");
dato[indiceF][indiceC]=sc.next();
}
else
{
if(indiceC==1)
{
System.out.println("Edad: ");
dato[indiceF][indiceC]=sc.next();
}
else
{
if(indiceC==2)
{
System.out.println("Documento: ");
dato[indiceF][indiceC]=sc.next();
}
}
}
}
}
System.out.println("Alumnos registrados con éxito");
datos.setDatos(dato);
System.out.println("Los datos de los aulmnos registrados son: ");
for(int i=0; i<datos.getDatos().length;i++) // <------------------ Mostrar la matriz
{
for(int j=0; j<=datos.getDatos().length;j++)
{
if(j==0)
{
System.out.println("Alumno "+ (i+1));
System.out.println("Nombre: "+datos.getDatos()[i][j]); // <----------- Se muestra lo que hay en esas posiciones
}
else
{
if(j==1)
{
System.out.println("Edad: "+datos.getDatos()[i][j]);
}
else
{
if(j==2)
{
System.out.println("Documento: "+datos.getDatos()[i][j]);
}
}
}
}
}
}
}
------------------------------//---------------------------------------------//-------------------------------------//---
package Presentacion;
import Logica.Logica;
import Datos.Datos;
public class Presentacion {
public static void main(String[]args)
{
Logica logica=new Logica();
Datos datos= new Datos();
logica.pedir();
}
}
public class Datos {
private String datos[][];
public Datos()
{
this.datos=datos;
}
public String[][] getDatos() {
return datos;
}
public void setDatos(String[][] datos) {
this.datos = datos;
}
}
---------------------------------//-------------------------------------------//-------------------------------------------
package Logica;
import Datos.Datos;
import java.util.Scanner;
public class Logica {
Datos datos= new Datos();
public void pedir()
{
int numAlumnos, a;
Scanner sc=new Scanner(System.in);
System.out.println("Bienvenido");
System.out.println("¿Cuántos alumnos vas ingresar?");
numAlumnos= sc.nextInt();
String dato[][]=new String[numAlumnos][3]; // PREGUNTAR ¿POR QUÉ NO FUNCIONA CON 2 EN COLUMNAS?
for(int indiceF=0; indiceF<numAlumnos; indiceF++)
{
for(int indiceC=0; indiceC<=2;indiceC++)
{
if(indiceC==0)
{
System.out.println("Alumno "+ (indiceF+1));
System.out.println("Nombre: ");
dato[indiceF][indiceC]=sc.next();
}
else
{
if(indiceC==1)
{
System.out.println("Edad: ");
dato[indiceF][indiceC]=sc.next();
}
else
{
if(indiceC==2)
{
System.out.println("Documento: ");
dato[indiceF][indiceC]=sc.next();
}
}
}
}
}
System.out.println("Alumnos registrados con éxito");
datos.setDatos(dato);
System.out.println("Los datos de los aulmnos registrados son: ");
for(int i=0; i<datos.getDatos().length;i++) // <------------------ Mostrar la matriz
{
for(int j=0; j<=datos.getDatos().length;j++)
{
if(j==0)
{
System.out.println("Alumno "+ (i+1));
System.out.println("Nombre: "+datos.getDatos()[i][j]); // <----------- Se muestra lo que hay en esas posiciones
}
else
{
if(j==1)
{
System.out.println("Edad: "+datos.getDatos()[i][j]);
}
else
{
if(j==2)
{
System.out.println("Documento: "+datos.getDatos()[i][j]);
}
}
}
}
}
}
}
------------------------------//---------------------------------------------//-------------------------------------//---
package Presentacion;
import Logica.Logica;
import Datos.Datos;
public class Presentacion {
public static void main(String[]args)
{
Logica logica=new Logica();
Datos datos= new Datos();
logica.pedir();
}
}
Arreglos tipo objeto
package Datos;
public class Datos {
private String nombre;
private int edad;
public Datos()
{
this.nombre= nombre;
this.edad= edad;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
}
------------------------------------------------//_--------------------------------------------//-----------------------/
package Logica;
import Datos.Datos;
import java.util.Scanner;
public class Prueba {
Datos dt= new Datos();
Scanner sc= new Scanner(System.in);
Datos vector[];
public void prueba()
{
vector= new Datos[1];
System.out.println("Ingresa el nombre: ");
dt.setNombre(sc.nextLine());
System.out.println("Ingresa Edad: ");
dt.setEdad(sc.nextInt());
vector[0]= new Datos();
mostrar(vector);
}
public void mostrar (Datos[] vec)
{
System.out.println("Edad: "+vec[0].getEdad());
System.out.println("nombre: "+ vec[0].getNombre());
}
}
--------------------------------------//-----------------------------------------//-----------------------------------//---
El ejercicio no funciona correctamente
package Presentacion;
import Logica.Prueba;
public class Presentacion {
public static void main(String[]args)
{
Prueba prue= new Prueba();
prue.prueba();
}
}
public class Datos {
private String nombre;
private int edad;
public Datos()
{
this.nombre= nombre;
this.edad= edad;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
}
------------------------------------------------//_--------------------------------------------//-----------------------/
package Logica;
import Datos.Datos;
import java.util.Scanner;
public class Prueba {
Datos dt= new Datos();
Scanner sc= new Scanner(System.in);
Datos vector[];
public void prueba()
{
vector= new Datos[1];
System.out.println("Ingresa el nombre: ");
dt.setNombre(sc.nextLine());
System.out.println("Ingresa Edad: ");
dt.setEdad(sc.nextInt());
vector[0]= new Datos();
mostrar(vector);
}
public void mostrar (Datos[] vec)
{
System.out.println("Edad: "+vec[0].getEdad());
System.out.println("nombre: "+ vec[0].getNombre());
}
}
--------------------------------------//-----------------------------------------//-----------------------------------//---
El ejercicio no funciona correctamente
package Presentacion;
import Logica.Prueba;
public class Presentacion {
public static void main(String[]args)
{
Prueba prue= new Prueba();
prue.prueba();
}
}
lunes, 12 de septiembre de 2016
miércoles, 7 de septiembre de 2016
Ejemplo de interfaz (Java)
public interface Caminar {
public void caminar();
}
public void caminar();
}
/------------------------------------/------------------------------------------/---------------------------------------/
public interface Nadar {
public void nadar();
}
/------------------------------------/------------------------------------------/---------------------------------------/
public interface Volar {
public void volar();
}
/------------------------------------/------------------------------------------/---------------------------------------/
public class Mamifero implements Caminar{
public void caminar() {
}
}
/------------------------------------/------------------------------------------/---------------------------------------/
public class Ave implements Caminar{
public void caminar() {
}
}
/------------------------------------/------------------------------------------/---------------------------------------/
public class Felino extends Mamifero implements Nadar {
public void nadar() {
}
}
/------------------------------------/------------------------------------------/---------------------------------------/
public class Gato extends Felino{
public void nadar()
{
System.out.println("Este Gato Nada");
}
public void caminar()
{
System.out.println("Este Gato Camina");
}
}
/------------------------------------/------------------------------------------/---------------------------------------/
public class Tigre extends Felino{
public void nadar()
{
System.out.println("Este Tigre Nada");
}
public void caminar()
{
System.out.println("Este Tigre Camina");
}
}
/------------------------------------/------------------------------------------/---------------------------------------/
public class Murcielago extends Mamifero implements Volar {
public void volar() {
System.out.println("Murcielago vuela");
}
public void caminar()
{
System.out.println("Murcielago camina");
}
}
/------------------------------------/------------------------------------------/---------------------------------------/
public class Avestuz extends Ave {
public void caminar()
{
System.out.println("Avestruz camina");
}
}
/------------------------------------/------------------------------------------/---------------------------------------/
public class Loro extends Ave implements Volar{
public void volar() {
System.out.println("Loro vuela");
}
public void caminar()
{
System.out.println("Loro camina");
}
}
/------------------------------------/------------------------------------------/---------------------------------------/
public class Run {
public static void main(String[]args)
{
Gato gato= new Gato();
Tigre tigre=new Tigre();
Murcielago murci=new Murcielago();
Avestuz aves=new Avestuz();
Loro loro=new Loro();
System.out.println("Gato: ");
gato.caminar();
gato.nadar();
System.out.println("\nTigre: ");
tigre.caminar();
tigre.nadar();
System.out.println("\nMurcielago: ");
murci.caminar();
murci.volar();
System.out.println("\nAvestruz: ");
aves.caminar();
System.out.println("\nLoro: ");
loro.caminar();
loro.volar();
}
}
jueves, 1 de septiembre de 2016
Herencia, Polimorfismo, clase abstracta y sobreescritura
Herencia
Creación de nuevas clases basadas en clases existentes.Cuando heredamos de una clase existente, reusamos métodos y campos, y agregamos nuevos campos y métodos para cumplir con la nueva situación.
A través de la referencia podemos agregar nuevos campos y podemos agregar o sobremontar métodos
Sobremontar: redefinir el método en la clase heredada
Sobreescritura
Se usa para que una sub clase se modifique o se agregue funcionalidades del método heredado
ejemplo:
class ClaseP{
void nuevoMetodo(int valo)
{
.......
}
String unNuevoMetodo()
{
........
}
}
class ClaseQ extends ClaseP{
void miMetodo(int valo)
{
System.out.println("Hola");
}
String unNuevoMetodo()
{
System.out.println("Hola, otra vez");
}
}
Clase abstracta
Sirve para unificar datos u operaciones de subclases
código:
public abstract class NombreClase{
}
Características:
- No se pueden crear objetos de esta clase
- Al menos un método tiene que ser abstracto
Métodos abstractos (Características)
- No tiene cuerpo(Es decir, no lleva llaves)
- Termina en punto y coma
- Solo existe dentro de una clase abstracta
- Estos tienen que forzosamente ser sobreescritos en las sub clases
ejemplo: abstract public void generarNomina(Parametros);
Polimorfismo
Se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos, este concepto esta ligado directamente con el concepto de herencia.
El polimorfismo en palabras mas simple consiste en un pedazo de código que se puede utilizar de diferentes manera en las clases hijas, en caso de no especializarlas las clase hijas hacen los métodos de la clase padre
ejemplo:
public abstract class SeleccionFutbol{
public abstract void entrenamiento();
public void partidoFutbol(){
System.out.println("Asiste al partido (Esta es la clase padre)");
}
}
public class Entrenador extends SeleccionFutbol{
@Override
public void entrenador(){
System.out.println("Direige un entrenamiento(Esta es la sub clase)");
}
}
@Override
Sirve para sobreescribir el código, en el caso de un objeto abstracto, sirve para especializar un método en una sub clase y en un método normal es para cambiar la función del método.
Suscribirse a:
Entradas (Atom)
