1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
/* Ejercicio: 3x03x03 - Conector JDBC Fecha: 16/10/2012 Enunciado: 3. Realiza el ejercicio anterior con sentencias preparadas. */ import java.sql.Connection; import java.sql.DriverManager; import com.mysql.jdbc.PreparedStatement; public class _3x03x03 { public static void metodo(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://giltesa.com:3306/baseDeDatos", "Usuario", "Contrasenia"); String sql = "UPDATE DEPT set dname = ? where deptno = ? and dname like ?"; PreparedStatement ps = (PreparedStatement)conn.prepareStatement(sql); ps.setString(1, args[0]); ps.setInt(2, Integer.parseInt(args[1])); ps.setString(3, args[2]); ps.executeUpdate(); conn.close(); } catch( Exception e ) { e.printStackTrace(); } } public static void main(String[] args) { String[] argumentos = { "Ventas", "30", "SALES" }; metodo(argumentos); } } |
Ejercicios ADA Procesos – Hoja1
En esta ocasión en vez de publicar los ejercicios pegando el código los voy a adjuntar en un zip, ya que aunque los primeros son solo un fichero y se podrían poner sin problemas, los dos últimos y los de las siguientes hojas van a tener muchos paquetes y seria muy lioso, además así aprovecho y adjunto también el ejecutable.
Leer másRemplazar microcontrolador en un Arduino Pro Mini
Hace un tiempo me cargue un Arduino Nano por un uso incorrecto. Lo tenia guardado en una caja y ahora con la estación de soldadura le he quitado las piezas para reaprovecharlas, entre ellas el microcontrolador ATmega 328P que lo he «replantado» en un Arduino Pro Mini que tenia un ATmega 168, con la mitad de memoria.
Leer másPlataforma de reparacion SMD Aoyue 328
Junto a la estación de soldadura también pedí un soporte para soldar del mismo fabricante, concretamente el Aoyue 328.
Este soporte te permite sujetar las placas para soldar mas cómodamente y así disponer de ambas manos. El soporte esta construido casi en su totalidad de plástico, no es de mucha calidad ya que su precio también es bajo, pero cumple con su cometido.
Los «brazos» que sujetan la placa pueden regularse en distancia, también si se aflojan un poco los tornillos se pueden introducir placas con un grosor mayor. Además en la parte superior ha unos pequeños orificios para, supuestamente, colocar destornilladores y alguna otra herramienta.
Y no hay mucho mas que contar, a continuación unas fotos:
Ejercicios Java UT2 Hoja4 – XML con DOM y SAX
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
/* Ejercicio: 2x4x01 Fecha: 08/10/2012 Enunciado: 1.- Realiza las siguientes tareas, a partir de la clase persona: a) Crea un fichero "FichPersona.dat", que almacene varios objetos persona. b) Tomando como base el fichero anterior, crea un documento XML usando DOM. c) Implementa una clase que permita leer el documento XML del apartado anterior. */ import org.w3c.dom.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; import java.io.*; public class _2x4x01 { // a) Crea un fichero "FichPersona.dat", que almacene varios objetos persona. private static void creaFicheroDatosPersonas(String[] args) throws IOException { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File(args[0]), false)); oos.writeObject(new Persona("Pedro", 53)); oos.writeObject(new Persona("Juan", 26)); oos.writeObject(new Persona("Maria", 32)); oos.writeObject(new Persona("Laura", 19)); oos.close(); } // b) Tomando como base el fichero anterior, crea un documento XML usando DOM. private static void creaFicheroXMLPersonas(String[] args) throws IOException { FileInputStream fis = new FileInputStream(new File(args[0])); ObjectInputStream ois = new ObjectInputStream(fis); Persona perso; try { // Crea la cabecera del fichero XML en memoria: Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation().createDocument(null, "personas", null); document.setXmlVersion("1.0"); // Añade los objetos persona al XML: while( fis.available() > 0 ) { perso = (Persona)ois.readObject(); Element raiz = document.createElement("persona"); document.getDocumentElement().appendChild(raiz); crearElemento("nombre", perso.getNombre(), raiz, document); crearElemento("edad", String.valueOf(perso.getEdad()), raiz, document); } // Vuelca el XML a un fichero XML: TransformerFactory.newInstance().newTransformer().transform(new DOMSource(document), new StreamResult(new java.io.File(args[1]))); } catch( Exception e ) { e.printStackTrace(); } ois.close(); fis.close(); } static void crearElemento(String datoEmple, String valor, Element raiz, Document document) { Element elem = document.createElement(datoEmple); Text text = document.createTextNode(valor); raiz.appendChild(elem); elem.appendChild(text); } // c) Implementa una clase que permita leer el documento XML del apartado anterior. public static void imprimirFicheroXMLPersonas(String[] args) { try { Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(args[1])); document.getDocumentElement().normalize(); System.out.println(document.getDocumentElement().getNodeName()); NodeList empleados = document.getElementsByTagName("persona"); for( int i = 0 ; i < empleados.getLength() ; i++ ) { Node emple = empleados.item(i); if( emple.getNodeType() == Node.ELEMENT_NODE ) { Element elemento = (Element)emple; System.out.print(" " + getNodo("nombre", elemento)); System.out.println(" \t" + getNodo("edad", elemento)); } } } catch( Exception e ) { System.err.println("Error: " + e); } } private static String getNodo(String etiqueta, Element elem) { NodeList nodo = elem.getElementsByTagName(etiqueta).item(0).getChildNodes(); Node valorNodo = (Node)nodo.item(0); return valorNodo.getNodeValue(); } public static void main(String[] args) throws IOException { String[] argumentos = { "personas.dat", "personas.xml" }; creaFicheroDatosPersonas(argumentos); creaFicheroXMLPersonas(argumentos); imprimirFicheroXMLPersonas(argumentos); } } |
Ejercicios Java UT2 Hoja3 – Persistencia
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
/* Ejercicio: 2x3x01 Fecha: 04/10/2012 Enunciado: A partir de la clase punto... implementar los siguientes apartados. */ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; public class _2x3x01 { /* a) Se pide escribir una clase EjercicioSerial2 donde se defina un método estático de nombre almacenarColPuntosEnArchivo que reciba una colección de objetos de la clase Punto. El método también recibirá por parámetro el nombre de un archivo para volcar sobre él la INFORMACION de los objetos Punto contenidos en la colección. El método no capturará ninguna excepción. */ public static void almacenarColPuntosEnArchivo(Punto[] pts, String file) throws IOException { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File(file), false)); // Revisar: Al poner TRUE no funciona una vez creado el fichero. for( Punto p : pts ) { oos.writeObject(p.obtenerCoordX()); oos.writeObject(p.obtenerCoordY()); oos.writeObject(p.obtenerColor()); } oos.close(); } /* b) Añadir a la clase anterior un método estático, de nombre obtenerArrayListDeArchivo, que reciba por parámetro el nombre de un archivo con los datos correspondientes a varios objetos de la clase Punto. El método construirá y devolverá un objeto ArrayList<Punto> con los datos de los puntos leídos del archivo especificado. El método no capturará ninguna excepción. */ public static ArrayList<Punto> obtenerArrayListDeArchivo(String file) throws IOException, ClassNotFoundException { FileInputStream fis = new FileInputStream(new File(file)); ObjectInputStream ois = new ObjectInputStream(fis); ArrayList<Punto> arrayPunto = new ArrayList<>(); while( fis.available() > 0 ) arrayPunto.add(new Punto((Integer)ois.readObject(), (Integer)ois.readObject(), (String)ois.readObject())); ois.close(); fis.close(); return arrayPunto; } /* c) Añadir a la clase anterior un método main() para comprobar el funcionamiento de los métodos estáticos de los dos apartados anteriores. Se crearán varios objetos Punto que se almacenarán en un array. A partir del array se obtendrá una colección para guardar sus elementos en un archivo. Para finalizar se obtendrá un objeto ArrayList<Punto> con los objetos Punto creados a partir de los datos almacenados en el archivo. */ public static void main(String[] args) throws IOException, ClassNotFoundException { // PRIMERA PARTE: // Se crea una tabla con puntos: Punto[] puntos = { new Punto(5, 10, "red"), new Punto(25, 120, "green"), new Punto(45, -10, "white") }; // Se almacena la tabla: almacenarColPuntosEnArchivo(puntos, "puntos.dat"); // Se lee la informacion guardada y se mete en un ArrayList de Puntos ArrayList<Punto> arrayPunto = obtenerArrayListDeArchivo("puntos.dat"); // Se imprimen los datos de los puntos: for( Punto p : arrayPunto ) System.out.println(p.toString()); // SEGUNDA PARTE: // Se guarda la coleccion de puntos en un fichero2, despues se lee y se recupera en un array2: almacenarColPuntosComoObjetos(puntos, "puntos2.dat"); ArrayList<Punto> arrayPunto2 = obtenerArrayListDeArchivoComoObjeto("puntos2.dat"); // Se graba el array2 en fichero3, y despues se recupera: escribirArrayListEnArchivo(arrayPunto2, "puntos3.dat"); ArrayList<Punto> arrayPunt3 = leerArrayListDeArchivo("puntos3.dat"); // Se imprime el array3: System.out.println("\n" + arrayPunt3); } /* d) Escribir un método de nombre almacenarColPuntosComoObjetos que reciba por parámetro una colección de objetos Punto y el nombre del archivo donde se almacenarán. El método escribirá directamente cada objeto Punto al archivo. */ public static void almacenarColPuntosComoObjetos(Punto[] pts, String file) throws IOException { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File(file), false)); // Revisar: Al poner TRUE no funciona una vez creado el fichero. for( Punto p : pts ) oos.writeObject(p); oos.close(); } /* e) Escribir un método de nombre obtenerArrayListDeArchivoComoObjeto que reciba por parámetro el nombre de un archivo donde se encuentran almacenados varios objetos de la clase Punto. El método leerá los objetos del archivo y los almacenará en un ArrayList que, finalmente será devuelto. */ public static ArrayList<Punto> obtenerArrayListDeArchivoComoObjeto(String file) throws IOException, ClassNotFoundException { FileInputStream fis = new FileInputStream(new File(file)); ObjectInputStream ois = new ObjectInputStream(fis); ArrayList<Punto> arrayPunto = new ArrayList<>(); while( fis.available() > 0 ) arrayPunto.add((Punto)ois.readObject()); ois.close(); fis.close(); return arrayPunto; } /* f) Escribir un método de nombre escribirArrayListEnArchivo, que reciba por parámetro un objeto ArrayList de objetos Punto y el nombre del archivo donde se almacenará. El método almacenará directamente el objeto ArrayList sobre el archivo recibido. No se capturará ninguna excepción. */ public static void escribirArrayListEnArchivo(ArrayList<Punto> arrayPunto, String file) throws IOException { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File(file), false)); // Revisar: Al poner TRUE no funciona una vez creado el fichero. oos.writeObject(arrayPunto); oos.close(); } /* g) Escribir un método de nombre leerArrayListDeArchivo que reciba por parámetro el nombre de un archivo en el que se ha escrito previamente un objeto ArrayList que almacena objetos de la clase Punto. El método leerá el objeto ArrayList del archivo y lo devolverá. No se capturará ninguna excepción. */ public static ArrayList<Punto> leerArrayListDeArchivo(String file) throws IOException, ClassNotFoundException { ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File(file))); ArrayList<Punto> arrayPunto = (ArrayList<Punto>)ois.readObject(); // Revisar, marca conversion descontrolada ois.close(); return arrayPunto; } } |
Estación de soldadura AOYUE 968A+
Llevaba años usando soldadores JBC, concretamente los modelos 14S y 30S, de 14 y 30w respectivamente y el segundo de ellos con pera de succión. Sin embargo ya iba siendo hora de dar un paso adelante y actualizarse pues esas herramientas limitan mucho los trabajos a realizar. Y el salto, como no, ha sido a una estación de soldadura con varias herramientas.
Leer más