https://www.arquitecturajava.com/webinar-servicio-rest-con-spring-framework/
https://www.arquitecturajava.com/java-arraylist-for-y-sus-opciones/
http://picodotdev.github.io/blog-bitix/2015/04/nueva-visita-a-5-plus-opciones-de-hosting-para-aplicaciones/
import java.math.BigDecimal; import java.sql.*; public class Derby { public static void main(String[] args) { try (Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/JavaTunesDB", "guest", "password");) { // rest of code String sql = "SELECT ITEM_ID, Title, Price FROM ITEM"; // conn is connection as from previous slide // create a Statement object Statement stmt = conn.createStatement(); // execute the SQL with it ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { long id = rs.getLong("ITEM_ID"); String title = rs.getString("Title"); BigDecimal price = rs.getBigDecimal("Price"); System.out.println(id + "," + title + "," + price); } // Do something with data (not shown) sql = "SELECT Title, Price FROM ITEM " + "WHERE ITEM_ID = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); // set the ? - they are numbered starting at 1 pstmt.setInt(1, 10); // execute the PreparedStatement and get a ResultSet rs = pstmt.executeQuery(); rs.next(); String title = rs.getString("Title"); Double price = rs.getDouble("Price"); System.out.println(title + "," + price); } catch (SQLException sqle) { System.out.println(sqle.getMessage()); } } }
import java.util.ArrayList; import java.util.Iterator; public class Bolsa<T> implements Iterable<T>{ private ArrayList<T> objetos = new ArrayList<T>(); private int capacidad = 10; public Bolsa() { } public Bolsa(int capacidad) { this.capacidad=capacidad; } /** * @return the objetos */ public ArrayList<T> getObjetos() { return objetos; } /** * @param objetos * the objetos to set */ public void setObjetos(ArrayList<T> objetos) { this.objetos = objetos; } public boolean meteObjeto(T objeto){ if (objetos.size()<capacidad){ objetos.add(objeto); return true; } return false; } public boolean sacaObjeto(){ if (objetos.size()>0){ objetos.remove(objetos.size()-1); return true; } return false; } public boolean sacaObjeto(T objeto){ return objetos.remove(objeto); } public boolean cambiaObjeto(T objeto1, T objeto2){ if (objetos.remove(objeto1)){ meteObjeto(objeto2); return true; } return false; } public boolean cambiaObjetoR(T objeto1, T objeto2){ int pos=objetos.indexOf(objeto1); if (pos>=0){ objetos.set(pos, objeto2); return true; } return false; } /** * @return the capacidad */ public int getCapacidad() { return capacidad; } public String toString(){ String res=capacidad + " | "; for(T s:objetos){ res+=s+" | "; } return res; } @Override public Iterator<T> iterator() { // TODO Auto-generated method stub return null; } }
import java.util.ArrayList; public class Bolsa { private ArrayList<String> objetos = new ArrayList<String>(); private int capacidad = 10; public Bolsa() { } public Bolsa(int capacidad) { this.capacidad=capacidad; } /** * @return the objetos */ public ArrayList<String> getObjetos() { return objetos; } /** * @param objetos * the objetos to set */ public void setObjetos(ArrayList<String> objetos) { this.objetos = objetos; } public boolean meteObjeto(String objeto){ if (objetos.size()<capacidad){ objetos.add(objeto); return true; } return false; } public boolean sacaObjeto(){ if (objetos.size()>0){ objetos.remove(objetos.size()-1); return true; } return false; } public boolean sacaObjeto(String objeto){ return objetos.remove(objeto); } public boolean cambiaObjeto(String objeto1, String objeto2){ if (objetos.remove(objeto1)){ meteObjeto(objeto2); return true; } return false; } public boolean cambiaObjetoR(String objeto1, String objeto2){ int pos=objetos.indexOf(objeto1); if (pos>=0){ objetos.set(pos, objeto2); return true; } return false; } /** * @return the capacidad */ public int getCapacidad() { return capacidad; } public String toString(){ String res=capacidad + " | "; for(String s:objetos){ res+=s+" | "; } return res; } }
Creo una clase nueva:
public class ExceptionMarcaIncorrecta extends Exception{ public ExceptionMarcaIncorrecta() { // TODO Auto-generated constructor stub } public ExceptionMarcaIncorrecta(String mensaje) { super(mensaje); } }
Añado esa excepción en setMarcas:
public void setMarca(String marca) throws ExceptionMarcaIncorrecta { for (String m : VALID_BRANDS) { if (marca.equals(m)) { this.marca = marca; return; } } throw new ExceptionMarcaIncorrecta("Marca incorrecta"); }
Modifico los constructores para que sean específicos:
public Television(String marca, int volumen, String proveedor) throws ExceptionMarcaIncorrecta { setMarca(marca); setVolume(volumen); setProveedor(proveedor); } public Television(String proveedor) throws ExceptionMarcaIncorrecta { this("LG", 6, proveedor); }
Ahora puedo usarla en la prueba:
try { Television tv1 = new Television("ww", 4, "Miro"); tv1.setVolume(-5); tv1.setMarca("Sony"); tv1.setModelo("weweew"); System.out.println(tv1); } catch (ExceptionMarcaIncorrecta e) { System.out.println(e.getMessage()); } catch (Exception e) { System.out.println(e.getMessage()); }
public class Puntos { private int x; private int y; /** * @return the x */ public int getX() { return x; } /** * @param x the x to set */ public void setX(int x) { this.x = x; } /** * @return the y */ public int getY() { return y; } /** * @param y the y to set */ public void setY(int y) { this.y = y; } public Puntos() { // TODO Auto-generated constructor stub } }
public abstract class Poligono { private Puntos[] puntos; public Poligono() { } public Poligono(int tam) { puntos = new Puntos[tam]; } public abstract double area(); }
public class Cuadrado extends Poligono { public Cuadrado() { super(4); } public double area(){ return 5; } }
public class Equipo { private Persona jefe; private Persona coordinador; private Persona[] miembros = new Persona[3]; public Equipo(String jefe, String coordinador, String emp1, String emp2, String emp3) { this.jefe = new Persona(jefe); this.coordinador = new Persona(coordinador); this.miembros[0] = new Persona(emp1); this.miembros[1] = new Persona(emp2); this.miembros[2] = new Persona(emp3); } /** * @return the jefe */ public Persona getJefe() { return jefe; } /** * @param jefe * the jefe to set */ public void setJefe(Persona jefe) { this.jefe = jefe; } public void setJefe(String jefe) { this.jefe = new Persona(jefe); } /** * @return the coordinador */ public Persona getCoordinador() { return coordinador; } /** * @param coordinador * the coordinador to set */ public void setCoordinador(Persona coordinador) { this.coordinador = coordinador; } /** * @return the miembros */ public Persona[] getMiembros() { return miembros; } /** * @param miembros * the miembros to set */ public void setMiembros(Persona[] miembros) { this.miembros = miembros; } public String toString() { String res = ""; if (jefe != null) { res += "Jefe: "+jefe.toString()+ "\n"; } if (coordinador != null) { res += "Coordinador:"+ coordinador.toString()+ "\n"; } for (Persona m : miembros) { if (m != null) { res += m.toString()+ " | "; } } return res; } }
public class Television { private String marca = ""; private int volumen = 6; private String proveedor; private String modelo; /** * @return the modelo */ public String getModelo() { return modelo; } /** * @param modelo the modelo to set */ public void setModelo(String modelo) { if (modelo.startsWith("TV") || modelo.indexOf("LG")>=0 || modelo.matches("[A-Za-z]{4}[0-9]{3}")){ this.modelo = modelo; } } public static final int MIN_VOLUME = 0; public static final int MAX_VOLUME = 100; public static final String[] VALID_BRANDS = { "Sony", "Zenith", "Hitachi", "RCA" }; public Television(String marca, int volumen, String proveedor) { setMarca(marca); setVolumen(volumen); setProveedor(proveedor); } public Television(String proveedor) { this("LG", 6, proveedor); } /** * @return the proveedor */ public String getProveedor() { return proveedor; } /** * @param proveedor * the proveedor to set */ private void setProveedor(String proveedor) { this.proveedor = proveedor; } /** * @return the marca */ public String getMarca() { return marca; } /** * @param marca * the marca to set */ public void setMarca(String marca) { for (String m : VALID_BRANDS) { if (marca.equals(m)) { this.marca = marca; return; } } } /** * @return the volumen */ public int getVolumen() { return volumen; } /** * @param volumen * the volumen to set */ public void setVolumen(int volumen) { volumen = Math.min(volumen, Television.MAX_VOLUME); volumen = Math.max(volumen, Television.MIN_VOLUME); this.volumen = volumen; } public String toString(){ return marca+"|"+modelo+"|"+volumen+"|"+proveedor; } }