Más ejercicios OCA Java SE 8

package com.codemonkey; import static java.lang.System.out; import static java.lang.System.err; import java.util.Arrays; import java.util.List; import java.util.ArrayList; import java.util.Date; import java.util.stream.Collectors; import java.lang.reflect.*; public class Main{ public static final int TAM = 5; public static void main(String[] args) { mockDemoA(); mockDemoB(); mockDemoC(); mockDemoD(); mockDemoE(); } public static void mockDemoE(){ Class existente; boolean verdadero = false; try{ existente = Class.forName("com.codemonkey.Existente"); out.println("Clase definida!!"); Package paquete = existente.getPackage(); String nombre = existente.getName(); out.println("Paquete:"+paquete); out.println("Nombre:"+nombre); nombre = existente.getTypeName(); out.println("Tipo: "+nombre); verdadero = existente.isAnnotation(); String result = verdadero? "Es una anotacion" : "No es una anotacion"; //Atributos/Campos/Variables de instancia Field[] campos = existente.getDeclaredFields(); if(campos.length > 0){ out.println("Campos encontrados!!"); out.println("Total: "+campos.length); for(int i=0; i < campos.length; i++){ out.println(campos[i].toString()); } } //Constructores Constructor<Existente>[] constructores = existente.getConstructors(); if(constructores.length > 0){ out.println("Constructores encontrados!!"); out.printf("Total: %d\n",constructores.length); for(int k=0; k < constructores.length; k++){ out.println(constructores[k].toString()); } } //Metodos Method[] metodos = existente.getDeclaredMethods(); if(metodos.length > 0){ out.println("Metodos encontrados!!"); out.println("Total:"+metodos.length); for(int j=0; j < metodos.length;j++){ out.println(metodos[j].toString()); } } }catch(ClassNotFoundException cfe){ err.println("Clase no definida!!"); cfe.printStackTrace(); } } public static void mockDemoD(){ Punto[] puntos = new Punto[TAM]; puntos[0] = new Punto(3,4); puntos[1] = new Punto(6,5); puntos[2] = new Punto(4,2); puntos[3] = new Punto(); puntos[4] = new Punto(7); List<Punto> listaPuntos = Arrays.asList(puntos); out.println(listaPuntos); listaPuntos.stream() .forEach(out::println); out.println("----------------------------"); listaPuntos.stream() .filter(p -> p.getX() > 0 && p.getY() > 0) .forEach(out::println); } public static void mockDemoC(){ X objX = X.getX(); out.println(objX.getFecha()); } public static void mockDemoB(){ X singleton = X.getX(); List<Character> lista = Arrays.asList('0','G','Y','1','i','4','&','2','X'); singleton.getLetras(lista); singleton.getNumeros(lista); } public static void mockDemoA(){ Singleton singleton = Singleton.getSingleton(); singleton.ver(); } } class Existente extends Object{ private int valor; Existente(){} public Existente(int valor){ setValor(valor); } public int getValor(){ return valor; } public void setValor(int valor){ this.valor=valor; } @Override public String toString(){ return "Existente{valor="+valor+"}"; } } class Punto{ private int x; private int y; public Punto(){} public Punto(int x, int y){ setX(x); setY(y); } public Punto(int x){ this(x,0); } public int getX(){ return x; } public void setX(int x){ this.x=x; } public int getY(){ return y; } public void setY(int y){ this.y=y; } @Override public String toString(){ return "Punto{x="+x+",y="+y+"}"; } } class Singleton{ private static Singleton singleton = null; private Singleton(){} public static Singleton getSingleton(){ if(singleton == null){ singleton = new Singleton(); } return singleton; } //aqui muestra el nombre 'Singleton' public void ver(){ out.println("Estoy desde la clase: "+this.getClass().getName()); } } class X{ private static X singleton = null; private X(){} public static X getX(){ if(singleton == null){ singleton = new X(); } return singleton; } public Date getFecha(){ return new Date(); } public void getLetras(List<Character> caracteres){ out.println(caracteres); out.println("Letras:"); List<Character> letras = caracteres.stream() .filter(c -> Character.isAlphabetic(c)) .collect(Collectors.toList()); out.println(letras); out.println("***************"); } public void getNumeros(List<Character> caracteres){ out.println(caracteres); out.println("Numeros:"); List<Character> numeros = caracteres.stream() .filter(c -> Character.isDigit(c)) .collect(Collectors.toList()); out.println(numeros); out.println("***************"); } }

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.