domingo, 31 de diciembre de 2017

27 Python. MessageBox

Tipos de MessageBox.


#MessageBox
from tkinter import *
from tkinter import messagebox
def info():
    messagebox.showinfo("Mensaje","Mensaje")
def advertencia():
    messagebox.showwarning("Mensaje","Mensaje Advertencia")
def pregunta():
   # messagebox.askquestion("Mensaje","Quieres salir?")
   # messagebox.askokcancel("Mensaje","Quieres salir?")
   # messagebox.askyesno("Mensaje","Quieres salir?")
    messagebox.askretrycancel("Mensaje","Quieres salir?")
ventana=Tk()
ventana.geometry("400x400")
ventana.title("Messagebox Python")

boton1=Button(ventana,text="Info",command=info).place(x=20,y=100)
boton2=Button(ventana,text="Advertencia",command=advertencia).place(x=20,y=120)
boton3=Button(ventana,text="Pregunta",command=pregunta).place(x=20,y=140)

ventana.mainloop()

jueves, 28 de diciembre de 2017

26 Python. SpinBox y MessageBox

En este video vemos otro componente mas para nuestras aplicaciones visuales con Python, SpinBox (combo), vemos tambien como mostrar mensajes en ventana emergente con MessageBox.


#Combo o Spin y MessageBox
from tkinter import *
from tkinter import messagebox
def mostrar():
    messagebox.showinfo("Mensaje","El valor es : "+valor.get())

ventana=Tk()
ventana.geometry("400x400")
ventana.title("Spinbox Python")
#variable
valor=StringVar()
etiqueta=Label(ventana,text="Spinbox").place(x=20,y=20)
combo=Spinbox(ventana,from_=1,to=10,textvariable=valor).place(x=20,y=60)
boton=Button(ventana,text="Valor",command=mostrar).place(x=20,y=100)

ventana.mainloop()

25 Python. RadioButton

Colocar RadioButton en ventana Python y obtener la opcion seleccionada.




#RadioButton
from tkinter import *
def operacion():
    numero=num.get()
    if opcion.get()==1:
        total=numero*numero
    else:
        total=numero*numero*numero
    print("El resultado es: "+str(total))

ventana=Tk()
ventana.geometry("400x400")
ventana.title("Calcula cubo o cuadrado")
#variables
opcion=IntVar()
num=IntVar()

#elementos
etiqueta1=Label(ventana,text="Escribe el numero: ").place(x=20,y=20)
cajaNumero=Entry(ventana,textvariable=num).place(x=130,y=20)
etiqueta2=Label(ventana,text="Marca la opcion ").place(x=20,y=50)
cuadrado=Radiobutton(ventana,text="x2",value=1,variable=opcion).place(x=20,y=80)
cubo=Radiobutton(ventana,text="x3",value=2,variable=opcion).place(x=70,y=80)
boton=Button(ventana,text="Ver",command=operacion).place(x=20,y=120)
ventana.mainloop()

24 Python. Entrada de datos

Entrada de datos mediante "Entry", programando ventanas con Python.



from tkinter import *
def mostrar():
    print("Hola: "+nombre.get()+" "+apellido.get()+" "+str(edad.get()))

ventana=Tk()
ventana.geometry("400x400")
ventana.title("Ficha datos")
#variables
nombre=StringVar()
apellido=StringVar()
edad=IntVar()
nombre.set("nombre")
#elementos
etiqueta1=Label(ventana,text="Escribe tu nombre: ").place(x=10,y=10)
nombreCaja=Entry(ventana,textvariable=nombre).place(x=170,y=10)
etiqueta2=Label(ventana,text="Escribe tu apellido: ").place(x=10,y=40)
apellidoCaja=Entry(ventana,textvariable=apellido).place(x=170,y=40)
etiqueta3=Label(ventana,text="Escribe tu edad: ").place(x=10,y=70)
edadCaja=Entry(ventana,textvariable=edad).place(x=170,y=70)
boton=Button(ventana,text="Mostrar",command=mostrar).place(x=10,y=140)
ventana.mainloop()

miércoles, 27 de diciembre de 2017

23 Python. Ventana, posicion elementos

En este video vemos diferentes formas de posicionar elementos dentro de una ventana con Python.



from tkinter import *
def mostrar():
    print("Has pulsado el boton 2")
ventana=Tk()
ventana.geometry("400x360")
ventana.title("Titulo de ventana")

#creamos 2 botones
boton1=Button(ventana,text="Minimizar",fg="red",command=ventana.iconify)
#boton1.pack(side=LEFT)
boton1.place(x=34,y=45)
boton2=Button(ventana,text="Muestra",fg="blue",command=mostrar)
#boton2.pack(side=RIGHT)
boton2.place(x=45,y=70)
ventana.mainloop()

sábado, 23 de diciembre de 2017

miércoles, 6 de diciembre de 2017

22 Python. Botones, etiquetas y entradas

En este video vemos como crear botones y ejecutar funciones al realizar click en ellos, tambien se ve como crear etiquetas y casillas de entradas, asi como mostrar mensajes en ventana emergente.



#VENTANAS CON PYTHON
#AÑADIMOS ETIQUETA, CASILLA ENTRADA Y BOTONES
#IMPORTAMOS MODULO
from tkinter import *
from tkinter import messagebox
def minimizar():
    ventana.iconify()
def mensaje():
    messagebox.showinfo("mensaje","Has escrito: "+texto.get())
ventana=Tk()
ventana.config(bg="white")
ventana.geometry("460x360")
ventana.resizable(width=TRUE, height=TRUE)
ventana.title("Ventana de Python")
#definimos 2 botones
boton1=Button(ventana,text="Minimizar",command=minimizar).grid(row=2,column=1)
boton2=Button(ventana,text="Mensaje",command=mensaje).grid(row=2,column=4)
#definimos etiqueta
etiqueta1=Label(ventana,text="Operaciones con botones").grid(row=1,column=2)
#definimos entrada
texto=StringVar()
texto.set("Introduce texto para mensaje")
entrada1=Entry(ventana,width=50,bg="blue",fg="yellow",textvariable=texto).grid(row=3,column=2)
ventana.mainloop()

              

viernes, 1 de diciembre de 2017

21 Python. Ventanas

Vemos lo sencillo que es crear una ventana simple con Python.



#VENTANAS CON PYTHON
#IMPORTAMOS MODULO
from tkinter import *

ventana=Tk()
ventana.config(bg="red")
ventana.geometry("460x360")
ventana.resizable(width=FALSE, height=TRUE)
ventana.title("Ventana de Python")
widget = Label(ventana, text='Bienvenido')
widget.pack(expand = NO, fill=BOTH)#YES BOTH NO NONE
ventana.mainloop()

              

jueves, 30 de noviembre de 2017

20 Python. Modificacion y borrado de datos en Sqlite

Modificar y borrar datos de Sqlite sobre el ejemplo visto anteriormente.




#SQLITE
import sqlite3



#CONECTAMOS
conexion=sqlite3.connect("agenda.db")
#CURSOR
consulta=conexion.cursor()
#MODIFICACION DE DATOS
consulta.execute("UPDATE agenda SET TELEFONO = 38874997 where ID= 2")
consulta.close()
conexion.commit()
conexion.close()
#CONECTAMOS
conexion=sqlite3.connect("agenda.db")
#CURSOR
consulta=conexion.cursor()
#BORRADO DE DATOS
consulta.execute("DELETE from agenda where ID= 2")
consulta.close()
conexion.commit()
conexion.close()

#CONSULTA DE DATOS INSERTADOS
conexion=sqlite3.connect("agenda.db")
consulta=conexion.cursor()
consulta.execute("SELECT id,nombre,apellidos,telefono from agenda")
for i in consulta:
    print("ID= ", i[0])
    print("NOMBRE= ", i[1])
    print("APELLIDOS= ", i[2])
    print("TELEFONO= ", i[3],"\n")
conexion.close()

lunes, 27 de noviembre de 2017

19 Python. Consulta de datos en Sqlite

Consultamos los datos insertados en el video anterior en la base de datos Sqlite.


#SQLITE
import sqlite3


#INSERTAR DATOS
nombre=input("Dime el nombre\n")
apellidos= input("Dime el apellido\n")
telefono=input("Dime el telefono\n")
#CONECTAMOS
conexion=sqlite3.connect("agenda.db")
#CURSOR
consulta=conexion.cursor()
#DATOS
datos=(nombre,apellidos,telefono)
sql="""
INSERT INTO agenda(nombre,apellidos,telefono) VALUES (?,?,?)"""
if(consulta.execute(sql,datos)):
    print("datos guardados")
else:
    print("error al guardar datos")
consulta.close()
conexion.commit()
conexion.close()
#CONSULTA DE DATOS INSERTADOS
conexion=sqlite3.connect("agenda.db")
consulta=conexion.cursor()
consulta.execute("SELECT id,nombre,apellidos,telefono from agenda")
for i in consulta:
    print("ID= ", i[0])
    print("NOMBRE= ", i[1])
    print("APELLIDOS= ", i[2])
    print("TELEFONO= ", i[3],"\n")
conexion.close()

domingo, 26 de noviembre de 2017

18 Python. Conexion a Base de datos Sqlite

Vemos como conectar con la Base de datos Sqlite y como insertar datos.


#SQLITE
import sqlite3
#CONEXION
conexion=sqlite3.connect("agenda.db")
#CURSOR
consulta=conexion.cursor()
#CREA TABLA
sql="""
CREATE TABLE IF NOT EXISTS agenda(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
nombre VARCHAR(20) NOT NULL,
apellidos VARCHAR(20) NOT NULL,
telefono VARCHAR(14) NOT NULL
)
"""
#EJECUTAR CONSULTA
if(consulta.execute(sql)):
    print("Tabla creada")
else:
    print("Error al crear tabla")
#CERRAMOS
consulta.close()
conexion.commit()
conexion.close()

#INSERTAR DATOS
nombre=input("Dime el nombre\n")
apellidos= input("Dime el apellido\n")
telefono=input("Dime el telefono\n")
#CONECTAMOS
conexion=sqlite3.connect("agenda.db")
#CURSOR
consulta=conexion.cursor()
#DATOS
datos=(nombre,apellidos,telefono)
sql="""
INSERT INTO agenda(nombre,apellidos,telefono) VALUES (?,?,?)"""
if(consulta.execute(sql,datos)):
    print("datos guardados")
else:
    print("error al guardar datos")
consulta.close()
conexion.commit()
conexion.close()

jueves, 23 de noviembre de 2017

17 Python. Descomponer cadena de texto en sus caracteres

Descomponemos la cadena que nos indica el usuario en los caracteres que la componen.



#CARACTERES DESCOMPONER
#SOLICITAMOS LA CADENA AL USUARIO
cadena=input("Cadena a mostrar ? ")
#DIVIDIMOS LA CADENA EN CARACTERES
for i in cadena:
    print(i)

martes, 21 de noviembre de 2017

16 Python. Calculadora simple

Vemos como crear una calculadora simple con Python, usando lo que hemos aprendido en videos anteriores y capturando el error de division por 0.





#CALCULADORA
#FUNCION MENU
def menu():
    print("Selecciona la operacion (1,2,3,4)")
    print("1. Suma")
    print("2. Resta")
    print("3. Multiplicacion")
    print("4. Division")
    opcion=int(input())
    return opcion
#FUNCION RESULTADO
def dameResultado(seleccion):
    operador1=int(input("Dime el primer numero "))
    operador2=int(input("Dime el segundo numero "))
    if(seleccion==1):
        resultado=operador1+operador2
    elif(seleccion==2):
        resultado=operador1-operador2
    elif(seleccion==3):
        resultado=operador1*operador2
    else:
        #CONTROLAMOS DIVISION POR CERO
        try:
            resultado=operador1/operador2
        except ZeroDivisionError: #podemos obviar la especificacion del error
            resultado=0
        finally:
            print("division realizada")
    return resultado
#PROGRAMA PRINCIPAL
continua=True
while(continua):
    seleccion=menu()
    resultado=dameResultado(seleccion)
    print(str(resultado))
    print("Quieres continuar (s/n)? ")
    if(input()=="s" or input()=="S"):
        continua=True
    else:
        continua=False
        print("Fin del programa")
        

lunes, 20 de noviembre de 2017

15 Python. Control de errores

Control de errores con Python.


#EXCEPCIONES
numero1=int(input("Primer numero :"))
numero2=int(input("Segundo numero :"))
#CONTROL DE EXCEPCION
try:
    resultado=numero1/numero2
    print("El resultado es = ",resultado)
except ZeroDivisionError: #podemos obviar la especificacion del error
    print("No se puede dividir por cero")
finally:
    #SE EJECUTA SIEMPRE
    print("Esto se ejecuta pase lo que pase")
   

14 Python. Diccionarios

Vemos otra forma de almacenar datos, los diccionarios, almacenan datos en forma clave : valor.



#DICCIONARIO DE NOTAS
#PARES CLAVE VALOR
notas={"David":8,"Maria":6,"Pedro":7,"Lucia":8,"Eva":8}
print(notas)
print("La nota de Lucia es ",notas["Lucia"])

sábado, 18 de noviembre de 2017

13 Python. Clases y Herencia

Creamos clases con atributos y metodos que nos sirven como plantillas o moldes para crear objetos (POO programacion orientada a objetos).
Vemos tambien como realizar clases que hereden de clases padres.
Puedes consultar los codigos de ejemplo aqui.


#CLASE COCHE Y METODOS
class coche:
    #CONSTRUCTOR DE LA CLASE
    def __init__(self,color,puertas):
        self.color=color
        self.puertas=puertas
    #METODO DE LA CLASE
    def arranca(self):
        print("Arrancando!!!")
miCoche1=coche("rojo",5)
print(miCoche1.color)
print(miCoche1.puertas)
miCoche1.arranca()
miCoche2=coche("verde",3)
print(miCoche2.color)
print(miCoche2.puertas)
miCoche2.arranca()

 #CLASE PADRE
class animal:
    def __init__(self,nombre,color):
        self.nombre=nombre
        self.color=color
#CLASE QUE HEREDA
class gato(animal):
    def maulla(self):
        print ("miau!!!")
#CREAMOS OBJETO DE CLASE GATO
tobby=gato("Tobby","marron")
print(tobby.color)
print(tobby.nombre)
tobby.maulla()

viernes, 17 de noviembre de 2017

32 Scratch. Choque de vehiculos 2

Añadimos el final del choque de vehiculos y sonido con Scratch.


12 Python. Tuplas

Diferencia entre Tuplas y Listas, con ejemplo de Tupla.



#TUPLAS
meses=("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto",
       "Septiembre","Octubre","Noviembre","Diciembre")
salir=False
while(not salir):
    numero=int(input("Dime el numero del mes: "))
    if(numero==0):
        salir=True
    else:
        if(numero>=1 and numero<=len(meses)):
            print(meses[numero-1])
        else:
            print("Inserta un numero entre 1 y ", len(meses))

miércoles, 15 de noviembre de 2017

11 Python. Listas

Operaciones basicas con listas en Python.




#LISTAS
lista_compras=["pan","patatas","naranjas","kiwis"]
print(lista_compras)
print(type(lista_compras))
#PEDIDO
piezas_pan=5
precio=0.40
total=precio*piezas_pan
pedido1=[piezas_pan,precio,total]
pedido2=[2,0.4,0.80]
pedido3=[3,0.3,0.90]
pedidos=[pedido1,pedido2,pedido3]
print(pedidos)
#lista[inicio:fin:step]
print(pedido1[1:2])
#recorrer lista
lista=[1,2,3,4,5,6,7,8,9]
for elemento in lista:
    print("el numero es ",elemento)
#INSERTAR ELEMENTOS
lista.append(45)
print(lista)
lista.insert(1,99)
print(lista)
lista.pop()
print(lista)
lista.remove(1)
print(lista)
print(len(lista))

sábado, 11 de noviembre de 2017

10 Python. Archivos

Vemos como crear archivos de textos desde Python, para grabar datos en el archivo.
Si el archivo no existe lo creara y si existe lo sobreescribe.
Pasamos despues a ver como se leen los datos del archivo.


#GUARDAR EN ARCHIVO
escritura=open("archivo.txt","w")
escritura.write("Este texto se escribe en el archivo \n y esto lo escribe en otra linea")
escritura.close()
print("fichero creado y grabado el texto")
#ABRIR ARCHIVO Y MOSTRAR DATOS
lectura=open("archivo.txt","r")
leer=lectura.read()
print("leemos todo")
print(leer)
lectura.close()
lectura=open("archivo.txt","r")
leer=lectura.readline()
print("leemos una linea")
print(leer)
lectura.close()



GitHub

En el siguiente enlace puedes encontrar los archivos con los codigos de ejemplo que voy creando para los tutoriales, podeis verlos aqui.
Espero os sea util, no olvideis practicar. Gracias.

jueves, 9 de noviembre de 2017

09 Python. Modulos

Como llamar a funciones o metodos incluidos en otros archivos que podemos utilizar como extensiones, librerias o modulos de nuestro codigo principal.



from random import randint as azar
continua=input("Empezamos (s/n)? ")
while(continua=="s" or continua =="S"):
    lanzaDado=azar(1,6)
    print("Has sacado un "+str(lanzaDado))
    continua=input("Quieres continuar (s/n)? ")
print("Se acabo, adios")


 #FUNCION PAR IMPAR
def es_par(numero):
    if numero%2==0:
        return True
    else:
        return False


 from moduloParImpar import es_par
#PEDIMOS NUMERO AL USUARIO
numero=int(input("Dime un numero y te dire si es par o no : "))
if(es_par(numero)==True):
    print("El numero es par")
else:
    print("El numero es impar")
parImpar=es_par(numero)
print("El resultado devuelto a la variable parImpar es = ",parImpar)




miércoles, 8 de noviembre de 2017

08 Python. Funciones

Crearemos 2 funciones diferentes para ver como devuelven el valor, la llamada a la funcion solo se puede realizar una vez creada.



#FUNCION PAR IMPAR
def es_par(numero):
    if numero%2==0:
        return True
    else:
        return False
#PEDIMOS NUMERO AL USUARIO
numero=int(input("Dime un numero y te dire si es par o no : "))
if(es_par(numero)==True):
    print("El numero es par")
else:
    print("El numero es impar")
parImpar=es_par(numero)
print("El resultado devuelto a la variable parImpar es = ",parImpar)

 #FUNCION SUMA
def suma(numero1,numero2):
    total=numero1+numero2
    print("La suma es : ",total)
  
#PEDIMOS NUMERO AL USUARIO
numero1=int(input("Dime el primer numero: "))
numero2=int(input("Dime el segundo numero: "))
suma(numero1,numero2)

lunes, 6 de noviembre de 2017

07 Python. Bucle For

Seguiremos con el ejemplo anterior de tabla de multiplicar, pero esta vez usaremos el bucle de repeticion For en vez de While.



#TABLA DE MULTIPLICAR CON FOR
tablaDel=int(input("Que tabla quieres calcular? "))
print("Tabla del: ",tablaDel)
#BUCLE FOR, SE REPITE MIENTRAS CONTADOR MENOR QUE 11
for contador in range(1,11): #incremento con pasos (1,11,2)
    #CALCULAMOS EL RESULTADO
    multiplica=tablaDel*contador
    #MOSTRAMOS EN PANTALLA
    print(tablaDel," por ",contador," es igual a ",multiplica)
#SE MUESTRA AL SALIR DEL BUCLE, FINAL
print("Fin de la tabla")

viernes, 3 de noviembre de 2017

06 Python. Bucle While

En este video vemos como usar el bucle While con Python.
Crearemos un ejemplo que muestre la tabla de multiplicar que indique el usuario.



#TABLAS DE MULTIPLICAR
tablaDel=int(input("Que tabla quieres que calcule ? "))
contador=1
print("Tabla del ",tablaDel)
#ENTRAMOS EN EL BUCLE
while(contador<11):
    multiplicacion=tablaDel*contador
    #MOSTRAMOS EL RESULTADO EN PANTALLA
    print(tablaDel," por ",contador," es igual a ",multiplicacion)
    #INCREMENTAMOS CONTADOR
    contador=contador+1
#SE MUESTRA AL SALIR DEL BUCLE
print("fin de la tabla")

miércoles, 1 de noviembre de 2017

05 Python.Condicional If

Vemos en el video como solicitar 2 numeros al usuario y evaluar cual es el mayor, usando para ello el bloque condicional If de Python.



#SOLICITAMOS NUMEROS
numero1=int(input("Dime el primer numero "))
numero2=int(input("Dime el segundo numero "))
#COMPARAMOS LOS NUMEROS
if (numero1>numero2):
    print("El numero ",numero1," es mayor que ",numero2)
elif (numero1<numero2):
    print("El numero ",numero1," es menor que ",numero2)
else:
    print("El numero ",numero1," es igual a ",numero2)
print("Hemos acabado")  
 

viernes, 27 de octubre de 2017

03 Python. Operaciones basicas

Operaciones basicas con datos numericos, booleanos y operadores de comparacion, asi como conversion de tipos (ej. pasar de numero a cadena).


miércoles, 18 de octubre de 2017

31 Scratch. Juego aterrizar cohete

Realizamos un juego en el que hay que aterrizar el cohete, usando las flechas del teclado, en una plataforma.
Veremos paso a paso como realizarlo usando Scratch.


sábado, 14 de octubre de 2017

30 Scratch. Choque de vehiculos (fisica)

En este video planteo el tipico problema de fisica de choque de vehiculos aplicandolo a Scratch, dadas las velocidades y la distancia total, la aplicacion calcula el punto del choque y el tiempo que tardan en chocar.
Es una forma sencilla de mostrar a los niños el ejemplo y que vean el resultado real, los vehiculos se mueven a la distancia exacta del choque.
Los niños pueden practicar cambiando los datos y viendo los resultados simulados.
Podemos realizar infinidad de aplicaciones Scratch aplicandolas al aula para facilitar la comprension de las materias, realizando simulaciones de los problemas.


jueves, 5 de octubre de 2017

23 Java. Aplicacion Visual

En el video se muestra como realizar una aplicacion visual con Java, en la que se realiza una aplicacion para calcular el IVA y el total a partir de la base imponible.



El codigo es el siguiente:



package paquete;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class Iva {

    private JFrame frame;
    private JTextField txtBase;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Iva window = new Iva();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public Iva() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 450, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);
       
        JLabel lblCalculoDeIva = new JLabel("Calculo de IVA y total");
        lblCalculoDeIva.setBounds(133, 21, 135, 14);
        frame.getContentPane().add(lblCalculoDeIva);
       
        JLabel lblBaseImponible = new JLabel("Base Imponible");
        lblBaseImponible.setBounds(45, 51, 94, 14);
        frame.getContentPane().add(lblBaseImponible);
       
        JLabel iva = new JLabel("IVA");
        iva.setBounds(45, 76, 94, 14);
        frame.getContentPane().add(iva);
       
        JLabel total = new JLabel("Total");
        total.setBounds(45, 101, 94, 14);
        frame.getContentPane().add(total);
       
        JLabel lblIva = new JLabel("");
        lblIva.setBounds(156, 76, 94, 14);
        frame.getContentPane().add(lblIva);
       
        JLabel lblTotal = new JLabel("");
        lblTotal.setBounds(156, 101, 94, 14);
        frame.getContentPane().add(lblTotal);
       
        txtBase = new JTextField();
        txtBase.setBounds(164, 46, 86, 20);
        frame.getContentPane().add(txtBase);
        txtBase.setColumns(10);
       
        JButton btnCalcular = new JButton("Calcular");
        btnCalcular.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                if(txtBase.getText().length()>0){
                double base=Double.parseDouble(txtBase.getText());
                double iva=base*(0.21);
                double total=base+iva;
                //pasamos los valores a la ventana
                lblIva.setText(String.valueOf(iva));
                lblTotal.setText(String.valueOf(total));}
                else{
                    System.out.println("Introduce el valor de la Base Imponible");
                }
            }
        });
        btnCalcular.setBounds(45, 158, 89, 23);
        frame.getContentPane().add(btnCalcular);
       
        JButton btnBorrar = new JButton("Borrar");
        btnBorrar.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent arg0) {
                txtBase.setText("");
                lblIva.setText("");
                lblTotal.setText("");
            }
        });
        btnBorrar.setBounds(177, 158, 89, 23);
        frame.getContentPane().add(btnBorrar);
    }
}

viernes, 29 de septiembre de 2017

sábado, 23 de septiembre de 2017

26 Scratch. Bloque apariencia

En este video vemos algunas acciones que podemos realizar con el bloque de Apariencias de Scratch (cambiar tamaños en ejecucion, color objeto, etc).


sábado, 16 de septiembre de 2017

22 Java. Borrando datos de Sqlite

Borramos datos de Sqlite usando Java con el ide Eclipse.



Clase Principal
public class main {
    static String nombreTabla="alumno";
    public static void main(String[] args) throws SQLException  {
        sqlite  miBaseDb=new sqlite();
        miBaseDb.conectar();
        miBaseDb.crearTabla(nombreTabla);
        miBaseDb.insertaDatos(17, "Jose", "Ojeda","Bien");
        miBaseDb.insertaDatos(18, "Juan", "Martin","Bien");
        miBaseDb.consultaDatos(nombreTabla);
        miBaseDb.ActualizarDatos(nombreTabla, 2, "Notable");
        miBaseDb.consultaDatos(nombreTabla);
        miBaseDb.BorrarDatos(nombreTabla, 17);
        miBaseDb.consultaDatos(nombreTabla);
    }

}

Clase Sqlite
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class sqlite {
     Connection c=null;
     Statement sentencia=null;
     String nombreTabla;
     String Nombre,Apellidos,Nota;
     int ID;
    public void conectar(){
   
    try{
        Class.forName("org.sqlite.JDBC");
        c=DriverManager.getConnection("jdbc:sqlite:test.db");
        System.out.println("Exito al conectar con base de datos");
    }catch(Exception e){
        System.out.println("Error al conectar con base de datos");
    }

    }
    public void crearTabla(String nombreTabla) throws SQLException{
        this.nombreTabla=nombreTabla;
        try{
            sentencia=c.createStatement();
            String sql="CREATE TABLE "+nombreTabla+" "+
                    "(ID INT PRIMARY KEY NOT NULL,"+
                    " Nombre TEXT NOT NULL,"+
                    " Apellidos TEXT NOT NULL,"+
                    " Nota TEXT NOT NULL)";
            sentencia.execute(sql);
            sentencia.close();
            c.close();
            System.out.println("Exito al crear la tabla");
        }catch(Exception e){
            System.out.println("Error al crear la tabla o que ya estaba creada");
        }
    }
    public void insertaDatos(int ID,String Nombre,String Apellidos,String Nota)throws SQLException{
        this.ID=ID;
        this.Nombre=Nombre;
        this.Apellidos=Apellidos;
        this.Nota=Nota;
        String sqlInsert="INSERT INTO "+nombreTabla+"(ID, Nombre, Apellidos, Nota) "+
                "VALUES("+ID+",'"+Nombre+"','"+Apellidos+"','"+Nota+"');";
       
        try {
            conectar();
            sentencia=c.createStatement();
            sentencia.executeUpdate(sqlInsert);
            sentencia.close();
            c.close();
            System.out.println("Datos insertados");
        }catch(Exception e){
            System.out.println("Error al insertar datos en la tabla");
        }
    }
    public void consultaDatos(String nombreTabla)throws SQLException{
        conectar();
        sentencia=c.createStatement();
        String consultaSql="SELECT * FROM "+nombreTabla+";";
        try{
            ResultSet rs=sentencia.executeQuery(consultaSql);
            while(rs.next()){
                int ID=rs.getInt("ID");
                String Nombre=rs.getString("Nombre");
                String Apellidos=rs.getString("Apellidos");
                String Nota=rs.getString("Nota");
                System.out.println("Id : "+ID+" Nombre : "+Nombre+" Apellidos : "+Apellidos+" Nota : "+Nota);
            }
            rs.close();
            sentencia.close();
            c.close();
        }catch(Exception e){
            System.out.println("Fallo al recuperar datos");}
       
       
    }
    public void ActualizarDatos(String nombreTabla, int ID, String Nota) throws SQLException{
        this.nombreTabla=nombreTabla;
        this.Nota=Nota;
        this.ID=ID;
        conectar();
        sentencia=c.createStatement();
        String actualizaSql="UPDATE "+nombreTabla+" SET Nota='"+Nota+"' WHERE ID="+ID;
        try {
            sentencia.executeUpdate(actualizaSql);
            c.commit();
        }catch(Exception e){System.out.println("error actualizando registro");}
        sentencia.close();
        c.close();
    }
    public void BorrarDatos(String nombreTabla, int ID) throws SQLException{
        this.nombreTabla=nombreTabla;
        this.ID=ID;
       
        try{
            conectar();
            sentencia=c.createStatement();
            String sql="DELETE FROM "+nombreTabla+" WHERE ID="+ID;
            sentencia.executeUpdate(sql);
        }catch(Exception e){
            System.out.print("error al borrar datos");
        }
        sentencia.close();
        c.close();
    }
    }

sábado, 9 de septiembre de 2017

21 Java. Actualizar datos de Sqlite

Actualizar un campo de un registro en base de datos Sqlite desde Java usando el IDE Eclipse.




Clase Principal
import java.sql.SQLException;

public class main {
    static String nombreTabla="alumno";
    public static void main(String[] args) throws SQLException  {
        sqlite  miBaseDb=new sqlite();
        miBaseDb.conectar();
        miBaseDb.crearTabla(nombreTabla);
        miBaseDb.insertaDatos(17, "Jose", "Ojeda","Bien");
        miBaseDb.insertaDatos(18, "Juan", "Martin","Bien");
        miBaseDb.consultaDatos(nombreTabla);
        miBaseDb.ActualizarDatos(nombreTabla, 2, "Notable");
        miBaseDb.consultaDatos(nombreTabla);
    }

}

Clase Sqlite
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class sqlite {
     Connection c=null;
     Statement sentencia=null;
     String nombreTabla;
     String Nombre,Apellidos,Nota;
     int ID;
    public void conectar(){
   
    try{
        Class.forName("org.sqlite.JDBC");
        c=DriverManager.getConnection("jdbc:sqlite:test.db");
        System.out.println("Exito al conectar con base de datos");
    }catch(Exception e){
        System.out.println("Error al conectar con base de datos");
    }

    }
    public void crearTabla(String nombreTabla) throws SQLException{
        this.nombreTabla=nombreTabla;
        try{
            sentencia=c.createStatement();
            String sql="CREATE TABLE "+nombreTabla+" "+
                    "(ID INT PRIMARY KEY NOT NULL,"+
                    " Nombre TEXT NOT NULL,"+
                    " Apellidos TEXT NOT NULL,"+
                    " Nota TEXT NOT NULL)";
            sentencia.execute(sql);
            sentencia.close();
            c.close();
            System.out.println("Exito al crear la tabla");
        }catch(Exception e){
            System.out.println("Error al crear la tabla o que ya estaba creada");
        }
    }
    public void insertaDatos(int ID,String Nombre,String Apellidos,String Nota)throws SQLException{
        this.ID=ID;
        this.Nombre=Nombre;
        this.Apellidos=Apellidos;
        this.Nota=Nota;
        String sqlInsert="INSERT INTO "+nombreTabla+"(ID, Nombre, Apellidos, Nota) "+
                "VALUES("+ID+",'"+Nombre+"','"+Apellidos+"','"+Nota+"');";
       
        try {
            conectar();
            sentencia=c.createStatement();
            sentencia.executeUpdate(sqlInsert);
            sentencia.close();
            c.close();
            System.out.println("Datos insertados");
        }catch(Exception e){
            System.out.println("Error al insertar datos en la tabla");
        }
    }
    public void consultaDatos(String nombreTabla)throws SQLException{
        conectar();
        sentencia=c.createStatement();
        String consultaSql="SELECT * FROM "+nombreTabla+";";
        try{
            ResultSet rs=sentencia.executeQuery(consultaSql);
            while(rs.next()){
                int ID=rs.getInt("ID");
                String Nombre=rs.getString("Nombre");
                String Apellidos=rs.getString("Apellidos");
                String Nota=rs.getString("Nota");
                System.out.println("Id : "+ID+" Nombre : "+Nombre+" Apellidos : "+Apellidos+" Nota : "+Nota);
            }
            rs.close();
            sentencia.close();
            c.close();
        }catch(Exception e){
            System.out.println("Fallo al recuperar datos");}
       
       
    }
    public void ActualizarDatos(String nombreTabla, int ID, String Nota) throws SQLException{
        this.nombreTabla=nombreTabla;
        this.Nota=Nota;
        this.ID=ID;
        conectar();
        sentencia=c.createStatement();
        String actualizaSql="UPDATE "+nombreTabla+" SET Nota='"+Nota+"' WHERE ID="+ID;
        try {
            sentencia.executeUpdate(actualizaSql);
            c.commit();
        }catch(Exception e){System.out.println("error actualizando registro");}
        sentencia.close();
        c.close();
    }
    }

martes, 5 de septiembre de 2017

20 Java. Consultar datos de Sqlite

Crearemos un metodo para consultar datos de Sqlite mediante Java con el IDE Eclipse.


Clase Principal
import java.sql.SQLException;

public class main {
    static String nombreTabla="alumno";
    public static void main(String[] args) throws SQLException  {
        sqlite  miBaseDb=new sqlite();
        miBaseDb.conectar();
        miBaseDb.crearTabla(nombreTabla);
        miBaseDb.insertaDatos(17, "Jose", "Ojeda","Bien");
        miBaseDb.insertaDatos(18, "Juan", "Martin","Bien");
        miBaseDb.consultaDatos(nombreTabla);
    }

}
Clase Sqlite
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class sqlite {
     Connection c=null;
     Statement sentencia=null;
     String nombreTabla;
     String Nombre,Apellidos,Nota;
     int ID;
    public void conectar(){
   
    try{
        Class.forName("org.sqlite.JDBC");
        c=DriverManager.getConnection("jdbc:sqlite:test.db");
        System.out.println("Exito al conectar con base de datos");
    }catch(Exception e){
        System.out.println("Error al conectar con base de datos");
    }

    }
    public void crearTabla(String nombreTabla) throws SQLException{
        this.nombreTabla=nombreTabla;
        try{
            sentencia=c.createStatement();
            String sql="CREATE TABLE "+nombreTabla+" "+
                    "(ID INT PRIMARY KEY NOT NULL,"+
                    " Nombre TEXT NOT NULL,"+
                    " Apellidos TEXT NOT NULL,"+
                    " Nota TEXT NOT NULL)";
            sentencia.execute(sql);
            sentencia.close();
            c.close();
            System.out.println("Exito al crear la tabla");
        }catch(Exception e){
            System.out.println("Error al crear la tabla o que ya estaba creada");
        }
    }
    public void insertaDatos(int ID,String Nombre,String Apellidos,String Nota)throws SQLException{
        this.ID=ID;
        this.Nombre=Nombre;
        this.Apellidos=Apellidos;
        this.Nota=Nota;
        String sqlInsert="INSERT INTO "+nombreTabla+"(ID, Nombre, Apellidos, Nota) "+
                "VALUES("+ID+",'"+Nombre+"','"+Apellidos+"','"+Nota+"');";
       
        try {
            conectar();
            sentencia=c.createStatement();
            sentencia.executeUpdate(sqlInsert);
            sentencia.close();
            c.close();
            System.out.println("Datos insertados");
        }catch(Exception e){
            System.out.println("Error al insertar datos en la tabla");
        }
    }
    public void consultaDatos(String nombreTabla)throws SQLException{
        conectar();
        sentencia=c.createStatement();
        String consultaSql="SELECT * FROM "+nombreTabla+";";
        try{
            ResultSet rs=sentencia.executeQuery(consultaSql);
            while(rs.next()){
                int ID=rs.getInt("ID");
                String Nombre=rs.getString("Nombre");
                String Apellidos=rs.getString("Apellidos");
                String Nota=rs.getString("Nota");
                System.out.println("Id : "+ID+" Nombre : "+Nombre+" Apellidos : "+Apellidos+" Nota : "+Nota);
            }
            rs.close();
            sentencia.close();
            c.close();
        }catch(Exception e){
            System.out.println("Fallo al recuperar datos");}
       
       
    }
    }








lunes, 4 de septiembre de 2017

19 Java. Insertar datos en Sqlite

Insertamos datos en la base de datos Sqlite creada anteriormente mediante Java con el IDE Eclipse.



Clase Principal
import java.sql.SQLException;

public class main {

    public static void main(String[] args) throws SQLException  {
        sqlite  miBaseDb=new sqlite();
        miBaseDb.conectar();
        miBaseDb.crearTabla("alumno");
        miBaseDb.insertaDatos(17, "Jose", "Ojeda","Bien");
        miBaseDb.insertaDatos(18, "Juan", "Martin","Bien");
    }

}
Clase Sqlite


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class sqlite {
     Connection c=null;
     Statement sentencia=null;
     String nombreTabla;
     String Nombre,Apellidos,Nota;
     int ID;
    public void conectar(){
   
    try{
        Class.forName("org.sqlite.JDBC");
        c=DriverManager.getConnection("jdbc:sqlite:test.db");
        System.out.println("Exito al conectar con base de datos");
    }catch(Exception e){
        System.out.println("Error al conectar con base de datos");
    }

    }
    public void crearTabla(String nombreTabla) throws SQLException{
        this.nombreTabla=nombreTabla;
        try{
            sentencia=c.createStatement();
            String sql="CREATE TABLE "+nombreTabla+" "+
                    "(ID INT PRIMARY KEY NOT NULL,"+
                    " Nombre TEXT NOT NULL,"+
                    " Apellidos TEXT NOT NULL,"+
                    " Nota TEXT NOT NULL)";
            sentencia.execute(sql);
            sentencia.close();
            c.close();
            System.out.println("Exito al crear la tabla");
        }catch(Exception e){
            System.out.println("Error al crear la tabla o que ya estaba creada");
        }
    }
    public void insertaDatos(int ID,String Nombre,String Apellidos,String Nota)throws SQLException{
        this.ID=ID;
        this.Nombre=Nombre;
        this.Apellidos=Apellidos;
        this.Nota=Nota;
        String sqlInsert="INSERT INTO "+nombreTabla+"(ID, Nombre, Apellidos, Nota) "+
                "VALUES("+ID+",'"+Nombre+"','"+Apellidos+"','"+Nota+"');";
       
        try {
            conectar();
            sentencia=c.createStatement();
            sentencia.executeUpdate(sqlInsert);
            sentencia.close();
            c.close();
            System.out.println("Datos insertados");
        }catch(Exception e){
            System.out.println("Error al insertar datos en la tabla");
        }
    }
    }


viernes, 1 de septiembre de 2017

18 Java. Crear tabla Sqlite

Crear tabla Sqlite, continuando con el ejercicio anterior en el que creamos la conexion a la base de datos.



Clase principal

import java.sql.SQLException;

public class main {

    public static void main(String[] args) throws SQLException  {
        sqlite  miBaseDb=new sqlite();
        miBaseDb.conectar();
        miBaseDb.crearTabla("alumno");
      
    }

}

Clase sqlite

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class sqlite {
     Connection c=null;
     Statement sentencia=null;
     String nombreTabla;

    public void conectar(){
  
    try{
        Class.forName("org.sqlite.JDBC");
        c=DriverManager.getConnection("jdbc:sqlite:test.db");
        System.out.println("Exito al conectar con base de datos");
    }catch(Exception e){
        System.out.println("Error al conectar con base de datos");
    }

    }
    public void crearTabla(String nombreTabla) throws SQLException{
        this.nombreTabla=nombreTabla;
        try{
            sentencia=c.createStatement();
            String sql="CREATE TABLE "+nombreTabla+" "+
                    "(ID INT PRIMARY KEY NOT NULL,"+
                    " Nombre TEXT NOT NULL,"+
                    " Apellidos TEXT NOT NULL,"+
                    " Nota TEXT NOT NULL)";
            sentencia.execute(sql);
            sentencia.close();
            c.close();
            System.out.println("Exito al crear la tabla");
        }catch(Exception e){
            System.out.println("Error al crear la tabla o que ya estaba creada");
        }
    }
    }

jueves, 31 de agosto de 2017

17 Java. Conexion a base de datos Sqlite

Conexion a base de datos Sqlite, descargando la libreria que incluiremos en nuestro proyecto Java, usando el IDE Eclipse.


Clase Sqlite
import java.sql.Connection;
import java.sql.DriverManager;

public class sqlite {
    public void conectar(){
    Connection c=null;
    try{
        Class.forName("org.sqlite.JDBC");
        c=DriverManager.getConnection("jdbc:sqlite:test.db");
        System.out.println("Exito al conectar con base de datos");
    }catch(Exception e){
        System.out.println("Error al conectar con base de datos");
    }

    }
    }
Clase principal

public class main {

    public static void main(String[] args) {
        sqlite  miBaseDb=new sqlite();
        miBaseDb.conectar();
    }

}




martes, 29 de agosto de 2017

16 Java. Hilos

En este video vemos como ejecutar varias tareas en segundo plano, mediante hilos o threads.



Podeis ver el codigo aqui:

Clase Principal:
public class main {

    public static void main(String[] args) {
        hilo hilo1=new hilo("hilo 1");
        hilo hilo2=new hilo("hilo 2");
        hilo1.setMensaje("Mensaje del hilo 1");
        hilo2.setMensaje("Mensaje del hilo 2");
        hilo2.start();
        hilo1.start();
    }

}

 Clase Hilo:
 public class hilo extends Thread{
    String mensaje;
    public hilo(String nombre){
        super(nombre);
    }
    public void run(){
        for (int i=1;i<11;i++){

            for (int j=1;j<11;j++){
                System.out.println(i+"*"+j+" = "+i*j);
            }
            try{
            sleep(2000);} catch(Exception e){}
        }
        System.out.println("Proceso terminado "+this.getName());
        System.out.println(mensaje);
    }
    public void setMensaje(String msg){
        this.mensaje=msg;
    }
}

jueves, 17 de agosto de 2017

25 Scratch. Sensores para movimiento

Continuando con el video anterior, en este mostramos los movimientos utilizando los sensores que nos ofrece Scratch, entre ellos utilizaremos los que detectan teclas pulsadas y el que detecta colision de un objeto con otro.


miércoles, 16 de agosto de 2017

24 Scratch. Movimientos

En este video nos centraremos en el bloque de movimientos, viendo las posibilidades que nos ofrece Scratch para desplazar o mover un objeto.
Insertaremos un fondo como eje de coordenadas para ver claramente las posiciones (x,y).


jueves, 3 de agosto de 2017

15 Java. Lectura y escritura en archivos de texto

Como escribir y leer archivos de texto desde java con eclipse.



import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;

public class fichero {
    public File archivo=null;
    public FileReader lector=null;
    public BufferedReader br=null;
    public FileWriter fichero=null;
    public PrintWriter escritor=null;
    void leer(String nombreArchivo){
        try {
            archivo=new File(nombreArchivo);
            lector=new FileReader(archivo);
            br=new BufferedReader(lector);
            String linea;
            while((linea=br.readLine())!=null){
                System.out.println(linea);
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            try {
                if(null!=lector){
                    lector.close();
                }
            }catch(Exception e2){
                e2.printStackTrace();
            }
        }
    }
    void escribir(String nombreArchivo){
        try {
            fichero=new FileWriter(nombreArchivo);
            escritor=new PrintWriter(fichero);
            for(int i=0;i<15;i++){
                escritor.println("Linea "+i);
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally{
           
            try {
                if(null!=escritor){
                    escritor.close();
                }
            }catch(Exception e2){
                e2.printStackTrace();
            }
        }
    }
}



public class principal {

    public static void main(String[] args) {
        fichero File=new fichero();
        File.escribir("archivoTexto.txt");
        File.leer("archivoTexto.txt");

    }

}

sábado, 29 de julio de 2017

14 Java. Programacion visual

Ejemplo de programacion visual con java, realizaremos una aplicacion sencilla que sume dos operadores obtenidos desde cuadros de textos de una ventana.


domingo, 23 de julio de 2017

13 Java. Clases, ejemplo practico

Como ejemplo practico de instanciar un objeto de una clase creada por nosotros, podriamos ver como simular la programacion de un cajero bancario, en el que podremos crear cuentas y operar con ellas, mostrando el saldo al requerirlo.
La clase principal seria asi:

public class principal {

    public static void main(String[] args) {
        cuentaBancaria cuenta1=new cuentaBancaria(500);
        cuentaBancaria cuenta2=new cuentaBancaria();
        System.out.println("El saldo de la cuenta 1 es "+cuenta1.dameSaldo());
        System.out.println("El saldo de la cuenta 2 es "+cuenta2.dameSaldo());
        cuenta1.retira(25);
        cuenta2.ingresa(249.23);       
        System.out.println("El saldo modificado de la cuenta 1 es "+cuenta1.dameSaldo());
        System.out.println("El saldo modificado de la cuenta 2 es "+cuenta2.dameSaldo());
       
    }

}
La clase cuentaBancaria seria:

public class cuentaBancaria {
    private double cantidad;
    private double saldo;
    cuentaBancaria(){
        saldo=0;
    }
    public double dameSaldo() {
        return saldo;
    }

    cuentaBancaria(double cantidad){
        saldo=cantidad;
    }
    void ingresa(double cantidad){
        saldo=saldo+cantidad;
    }
    void retira(double cantidad){
        saldo=saldo-cantidad;
    }
}
En esta clase se preparan los metodos que incrementan o disminuyen el saldo, asi como el metodo que devuelve el saldo que servira para mostrarlo por consola desde la clase principal
Ponemos en dicha clase dos constructores (sobrecarga), se tomara uno u otro dependiendo si al instanciarlo indicamos saldo inicial o no.
Desde la clase principal instanciamos dos cuentas y operamos con ellas.



viernes, 21 de julio de 2017

12 Java. Herencias, clases propiedades y metodos

Vemos como crear objetos de una clase hija que hereda de la clase padre, obteniendo sus propiedades y metodos generales junto con los particulares o propios de la clase hija.


El codigo java realizado con eclipse es el siguiente:

public class principal {

    public static void main(String[] args) {
       
        animal perro=new animal();
        System.out.println("El color del perro es "+perro.getColor());
        System.out.println("El tamaño del perro es "+perro.getTamaño());
        perro.setTamaño("pequeño");
        System.out.println("Ahora el tamaño del perro es "+perro.getTamaño());
        animal perro2=new animal("mediano","marron");
        System.out.println("El color del perro2 es "+perro2.getColor());
        System.out.println("El tamaño del perro2 es "+perro2.getTamaño());
        //INSTANCIAMOS LOS NUEVOS OBJETOS DE PERRO Y GATO
        perro tobby=new perro();
        gato tod=new gato();
        //datos por omision de los dos objetos
        System.out.println("El color del perro tobby es "+tobby.getColor());
        System.out.println("El tamaño del perro tobby es "+tobby.getTamaño());
        System.out.println("El color del gato tod es "+tod.getColor());
        System.out.println("El tamaño del gato tod es "+tod.getTamaño());
        //cambiamos el color del perro
        tobby.setColor("marron");
        System.out.println("El color cambiado del perro tobby es "+tobby.getColor());
        //acceso a metodos particulares de cada objeto
        tobby.muerde();
        tobby.ladra();
        tod.maulla();
        tod.araña();
        //tod.ladra(); daria error
    }

}


public class animal {
    private String tamaño;
    private String color;
    animal(){
        tamaño="grande";
        color="negro";
    }
    animal(String tamaño,String color){
        this.tamaño=tamaño;
        this.color=color;
    }
    public String getTamaño() {
        return tamaño;
    }
    public void setTamaño(String tamaño) {
        this.tamaño = tamaño;
    }
    public String getColor() {
        return color;
    }
    public void setColor(String color) {
        this.color = color;
    }
   
}


public class perro extends animal {
    void ladra(){
        System.out.println("guau!!");
    }
    void muerde(){
        System.out.println("te muerdo!!");
    }
}

public class gato extends animal {
    void maulla(){
        System.out.println("miau!!");
    }
    void araña(){
        System.out.println("te araño");
    }
}



jueves, 20 de julio de 2017

11 Java. Objetos y clases

Como instanciar o crear objetos de clases, acceder a sus valores con "getters" y modificarlos con "setters".


Clase principal

public class principal {

    public static void main(String[] args) {
        animal perro=new animal();
        System.out.println("El color del perro es "+perro.getColor());
        System.out.println("El tamaño del perro es "+perro.getTamaño());
        perro.setTamaño("pequeño");
        System.out.println("Ahora el tamaño del perro es "+perro.getTamaño());
        animal perro2=new animal("mediano","marron");
        System.out.println("El color del perro2 es "+perro2.getColor());
        System.out.println("El tamaño del perro2 es "+perro2.getTamaño());
    }
}

Clase animal

public class animal {
    private String tamaño;
    private String color;
    animal(){
        tamaño="grande";
        color="negro";
    }
    animal(String tamaño,String color){
        this.tamaño=tamaño;
        this.color=color;
    }
    public String getTamaño() {
        return tamaño;
    }
    public void setTamaño(String tamaño) {
        this.tamaño = tamaño;
    }
    public String getColor() {
        return color;
    }
    public void setColor(String color) {
        this.color = color;
    }
   
}