├── src └── com │ └── lineadecodigo │ ├── java │ ├── patrones │ │ ├── DVD.java │ │ ├── BluRay.java │ │ ├── prototype │ │ │ └── Prototipo.java │ │ ├── Pack.java │ │ ├── DVDPack.java │ │ ├── BluRayPack.java │ │ ├── Disco.java │ │ ├── abstractfactory │ │ │ ├── FabricaDiscos.java │ │ │ ├── FabricaDiscos_CapaSimple.java │ │ │ ├── FabricaDiscos_CapaDoble.java │ │ │ └── PatronAbstractFactory.java │ │ ├── DVD_CapaDoble.java │ │ ├── DVD_CapaSimple.java │ │ ├── BluRay_CapaDoble.java │ │ └── BluRay_CapaSimple.java │ ├── basico │ │ ├── HolaMundo.java │ │ ├── NumerosAscendentes.java │ │ ├── Comunes.java │ │ ├── HoraEnMilisegundos.java │ │ ├── system │ │ │ └── SistemaOperativo.java │ │ ├── ParametrosMain.java │ │ ├── arrays │ │ │ ├── ArrayChar2String.java │ │ │ ├── ArraytoString.java │ │ │ ├── InicializarArray.java │ │ │ ├── OrdernarArray.java │ │ │ ├── SubArray.java │ │ │ ├── CargarArrayNumerosAleatorios.java │ │ │ ├── OrdernarParteArray.java │ │ │ ├── Array2String.java │ │ │ ├── NumerosMismaPosicion.java │ │ │ ├── BuscarEnArray.java │ │ │ ├── ListarElementosArray.java │ │ │ ├── ArrayTamanioDinamico.java │ │ │ ├── BuscarNumeroEnArray.java │ │ │ ├── BusquedaLineal.java │ │ │ ├── BusquedaConStreams.java │ │ │ ├── BusquedaBinaria.java │ │ │ ├── RotarArray.java │ │ │ └── CopiarDosArraysEnUno.java │ │ ├── NumerosConCeroHasta100.java │ │ ├── NumeroAleatorio.java │ │ ├── EsUnDigito.java │ │ ├── NumerosConCeroHasta1000.java │ │ ├── NumeroDigitosLogaritmo.java │ │ ├── ComentariosEnJava.java │ │ ├── AreaRectangulo.java │ │ ├── ConstanteEnJava.java │ │ ├── ParametrosVariables.java │ │ ├── LecturaCaracterConsola.java │ │ ├── NumeroPar.java │ │ ├── SumatorioDeUnNumeroRecursivo.java │ │ ├── LanzarGarbageCollector.java │ │ ├── FinalizarUnObjeto.java │ │ ├── variables │ │ │ ├── DesbordarVariable.java │ │ │ ├── LiteralesBoolean.java │ │ │ ├── ValoresMaxMin.java │ │ │ └── TipoDatoBoolean.java │ │ ├── SumatorioDeUnNumero.java │ │ ├── TablasDeMultiplicarRecursivas.java │ │ ├── UltimoDigitoIgual.java │ │ ├── matriz │ │ │ ├── MatrizACadena.java │ │ │ ├── MatrizPorEscalar.java │ │ │ ├── MatrizNegativa.java │ │ │ ├── MatricesIguales.java │ │ │ ├── MatrizSimetrica.java │ │ │ ├── CrearMatriz.java │ │ │ └── ImprimirMatriz.java │ │ ├── FactorialDeUnNumeroFor.java │ │ ├── DividirSinDividir.java │ │ ├── UltimoDigitoIgualSinString.java │ │ ├── NumeroDigitos.java │ │ ├── OperadorTernario.java │ │ ├── MediaDeNumeros.java │ │ ├── ListarElementosArray.java │ │ ├── ObtenerUltimoDigitoDeUnNumero.java │ │ ├── NumerosPrimosRango.java │ │ ├── DibujandoUnaFigura.java │ │ ├── Milisegundos2Hora.java │ │ ├── ForEach.java │ │ ├── IsNumeric.java │ │ ├── LecturaDatosConsola.java │ │ ├── MayorDosNumeros.java │ │ ├── NumeroImpar.java │ │ ├── NumerosPrimos.java │ │ ├── DiasDelMes.java │ │ ├── FactorialDeUnNumeroTexto.java │ │ ├── UnaInstancia.java │ │ ├── SumarNumerosTeclado.java │ │ ├── RestarNumerosTeclado.java │ │ ├── DividirNumeros.java │ │ ├── NumeroSumasRecursivas.java │ │ ├── DivisiblePor.java │ │ └── FactorialDeUnNumero.java │ ├── string │ │ ├── SaltoDeLinea.java │ │ ├── ExtraerCadena.java │ │ ├── ObtenerCaracterCadena.java │ │ ├── ReemplazarContenido.java │ │ ├── TamanioCadena.java │ │ ├── CodigosASCIICadena.java │ │ ├── TabularCadena.java │ │ ├── ConvertirAMinusculas.java │ │ ├── ConvertirAMayusculas.java │ │ ├── InvertirCadenaConReverse.java │ │ ├── InvertirCadena.java │ │ ├── ConvertirCadenaArrayCaracteres.java │ │ ├── ExtraerPorDelimitadores.java │ │ ├── ExtraerPorDelimitadoresDinamicos.java │ │ ├── BuscarPrimerPunto.java │ │ ├── ReemplazarCadenas.java │ │ ├── ReverseRecursivo.java │ │ ├── ContarPalabras.java │ │ ├── PrimeraLetraPalabras.java │ │ ├── EmailsAcabadosEnDotCom.java │ │ ├── ListarCaracteresCadena.java │ │ ├── PalabrasParesFrase.java │ │ ├── AlinearAIzquierda.java │ │ ├── ContadorDePalabras.java │ │ ├── CadenaMayusMinuscAlternativos.java │ │ ├── InvertirFrase.java │ │ └── VocalesPalabra.java │ ├── file │ │ ├── DirectorioTemporal.java │ │ ├── SeparadorDirectorios.java │ │ ├── RutaAbsoluta.java │ │ ├── DirectorioTrabajo.java │ │ ├── UnidadesSistemaFicheros.java │ │ ├── TamanioFichero.java │ │ ├── BorrarFichero.java │ │ ├── ExisteFichero.java │ │ ├── VaciarContenidoFichero2.java │ │ ├── CambiarFechaModificacionFichero.java │ │ ├── ObtenerDirectorioPadre.java │ │ ├── ListarContenidoDirectorio.java │ │ ├── ConstruirPath.java │ │ ├── VaciarContenidoFichero.java │ │ ├── EsUnDirectorio.java │ │ ├── encoding │ │ │ ├── EscribirFicheroUTF8.java │ │ │ ├── EscribirFicheroISO1.java │ │ │ └── LeerFicheroUTF8.java │ │ ├── LeerFicheroTexto.java │ │ ├── ListarFicherosOcultos.java │ │ ├── NumeroDeFilasStream.java │ │ └── NumeroDeFilas.java │ ├── json │ │ ├── ObjetoJSON.java │ │ ├── ObjetoJSONGson.java │ │ ├── CrearJSON.java │ │ └── ObjetoJSONJackson.java │ ├── math │ │ ├── AreaTriangulo.java │ │ ├── NumeroPI.java │ │ ├── PotenciasDelDos.java │ │ ├── RaizCuadradaDecimales.java │ │ ├── PotenciasDelDosConBits.java │ │ ├── AreaCirculo.java │ │ ├── NaipeBaraja.java │ │ ├── NumeroAzarDeUnConjunto.java │ │ ├── PerimetroCirculo.java │ │ ├── VolumenCubo.java │ │ ├── AreaTrianguloEscaleno.java │ │ ├── MayorDosNumerosMath.java │ │ └── Hipotenusa.java │ ├── util │ │ ├── NumeroRandom.java │ │ ├── collections │ │ │ ├── Pila.java │ │ │ ├── RecorrerArrayListForEach.java │ │ │ ├── lista │ │ │ │ ├── ObtenerElementoLista.java │ │ │ │ ├── RecorrerArrayList.java │ │ │ │ ├── AddElementosLista.java │ │ │ │ ├── RecorrerListaSpliterator.java │ │ │ │ ├── AjustarCapacidadArrayList.java │ │ │ │ ├── ExtraerSublista.java │ │ │ │ ├── IterarSobreLista.java │ │ │ │ ├── CrearArrayList.java │ │ │ │ ├── TamanioLista.java │ │ │ │ ├── EliminarTodosElementosLista.java │ │ │ │ └── IteradorLista.java │ │ │ ├── List2Array.java │ │ │ ├── OrdenarVector.java │ │ │ ├── InsertarElementosVector.java │ │ │ ├── NumeroElementosLista.java │ │ │ ├── ListarConjunto.java │ │ │ ├── MaximoMinimoConjunto.java │ │ │ ├── OrdenarVectorAlfabeticamente2.java │ │ │ ├── AsegurarCapacidadArrayList.java │ │ │ ├── RecorrerListaHaciaAtras.java │ │ │ ├── InsertarElementoVectorPosicionConcreta.java │ │ │ ├── ListarLista.java │ │ │ ├── ListarUnMapa.java │ │ │ ├── InvertirLista.java │ │ │ ├── BuscarElementoArrayList.java │ │ │ └── Array2List.java │ │ ├── CerosALaIzquierda.java │ │ ├── dictionary │ │ │ ├── CrearHashtable.java │ │ │ └── ListarClavesHashtable.java │ │ ├── LecturaConsolaScanner.java │ │ ├── dates │ │ │ ├── AnioBisiesto.java │ │ │ ├── ObtenerLaHora.java │ │ │ └── ObtenerFecha.java │ │ ├── stream │ │ │ ├── CadenaComoStream.java │ │ │ └── MayusculasMinusculasStream.java │ │ └── properties │ │ │ └── GuardarProperties.java │ ├── xml │ │ └── sax │ │ │ └── MiManejador.java │ ├── mail │ │ ├── Autentificacion.java │ │ └── AutentificarSMTP.java │ ├── awt │ │ ├── MiFrame.java │ │ ├── MiFrame2.java │ │ └── CerrarUnFrame.java │ ├── io │ │ ├── TamanioFichero.java │ │ ├── RenombrarFicheros.java │ │ ├── ListarDirectorio.java │ │ └── CrearUnFichero.java │ ├── swing │ │ ├── ResolucionPantalla.java │ │ ├── HolaMundoSwing.java │ │ ├── CrearJTextField.java │ │ ├── CentrarJFrame.java │ │ ├── BotonConTooltip.java │ │ └── CerrarVentana.java │ ├── applet │ │ ├── MiPrimerApplet.java │ │ └── AppletPasarParametros.java │ ├── net │ │ └── ComprobarConexion.java │ ├── external │ │ └── jaunt │ │ │ └── ScreenScraping.java │ ├── twitter │ │ ├── EnviarTweet.java │ │ └── InformacionTweet.java │ └── hilos │ │ └── CierreAplicacion.java │ └── base │ ├── Web.java │ ├── Usuario.java │ └── Persona.java ├── resources └── fichero_lineas.txt └── .gitignore /src/com/lineadecodigo/java/patrones/DVD.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones; 2 | 3 | public abstract class DVD extends Disco { 4 | 5 | } -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/patrones/BluRay.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones; 2 | 3 | public abstract class BluRay extends Disco { 4 | 5 | } -------------------------------------------------------------------------------- /resources/fichero_lineas.txt: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | 8 9 | 9 10 | 10 11 | 11 12 | 12 13 | 13 14 | 14 15 | 15 16 | 16 17 | 17 18 | 18 19 | 19 20 | 20 -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/patrones/prototype/Prototipo.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones.prototype; 2 | 3 | /** 4 | * @file Prototipo.java 5 | * @author Feffo Calendino (http://lineadecodigo.com/author/feffon/) 6 | * @date 29/enero/2013 7 | * @url COMPLETE 8 | * @description Codigo correspondiente al ejemplo sobre el patrón de diseño Prototype 9 | */ 10 | 11 | public interface Prototipo { 12 | 13 | public Prototipo clone(); 14 | 15 | } -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/patrones/Pack.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones; 2 | 3 | public abstract class Pack { 4 | 5 | protected Disco doble; 6 | protected Disco simple; 7 | 8 | public Disco getDoble() { 9 | return this.doble; 10 | } 11 | 12 | public Disco getSimple() { 13 | return this.simple; 14 | } 15 | 16 | @Override 17 | public String toString() { 18 | return "Pack:\n" + getSimple() + "\n" + getDoble(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/patrones/DVDPack.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones; 2 | 3 | public class DVDPack extends Pack { 4 | 5 | public DVDPack() { 6 | 7 | } 8 | 9 | public void setSimple(DVD doble) { 10 | this.doble = doble; 11 | } 12 | 13 | public void setDoble(DVD simple) { 14 | this.simple = simple; 15 | } 16 | 17 | 18 | @Override 19 | public String toString() { 20 | return "Pack DVD:\n" + getSimple() + "\n" + getDoble(); 21 | } 22 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | 3 | # Mobile Tools for Java (J2ME) 4 | .mtj.tmp/ 5 | 6 | # Package Files # 7 | *.jar 8 | *.war 9 | *.ear 10 | 11 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 12 | hs_err_pid* 13 | /build/ 14 | /target/ 15 | /.settings/ 16 | 17 | # Eclipse 18 | .project 19 | 20 | # Mac 21 | .DS_Store 22 | 23 | # MyDB 24 | /myDB/ 25 | 26 | # Mis Pruebas 27 | /src/com/working/ 28 | 29 | # Logs 30 | *.log 31 | 32 | # Twitter 33 | twitter4j.properties 34 | 35 | .vscode 36 | .factorypath -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/patrones/BluRayPack.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones; 2 | 3 | public class BluRayPack extends Pack { 4 | 5 | public BluRayPack() { 6 | 7 | } 8 | 9 | public void setSimple(BluRay doble) { 10 | this.doble = doble; 11 | } 12 | 13 | public void setDoble(BluRay simple) { 14 | this.simple = simple; 15 | } 16 | 17 | @Override 18 | public String toString() { 19 | return "Pack BluRay:\n" + getSimple() + "\n" + getDoble(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/patrones/Disco.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones; 2 | 3 | import com.lineadecodigo.java.patrones.prototype.Prototipo; 4 | 5 | public abstract class Disco implements Prototipo { 6 | 7 | 8 | @Override 9 | public abstract Prototipo clone(); 10 | 11 | public abstract String getCapacidad(); 12 | 13 | public abstract String getNombre(); 14 | 15 | public abstract String getPrecio(); 16 | 17 | @Override 18 | public String toString() { 19 | return getNombre() + " (" + getCapacidad() + ")"; 20 | } 21 | } -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/HolaMundo.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file HolaMundo.java 5 | * @version 1.2 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 31/marzo/2007 8 | * @url http://lineadecodigo.com/2007/03/31/hola-mundo-en-java/ 9 | * @description Primer programa que se realiza en cualquier lenguaje de programación cuando se empieza a aprender. 10 | */ 11 | 12 | 13 | public class HolaMundo { 14 | 15 | public static void main(String[] args) { 16 | System.out.println("Hola Mundo"); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/NumerosAscendentes.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file NumerosAscendentes.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 14/enero/2007 8 | * @url http://lineadecodigo.com/java/numeros-ascendentes-en-java/ 9 | * @description Uso de un bucle para conseguir una lista de números ascendentes. 10 | */ 11 | 12 | public class NumerosAscendentes { 13 | 14 | public static void main(String[] args) { 15 | 16 | for (int x=1;x<=100;x++){ 17 | System.out.println(x); 18 | } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/Comunes.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file Comunes.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 25/marzo/2009 8 | * @url 9 | * @description Clase con un conjunto de operaciones comunes 10 | */ 11 | 12 | public final class Comunes { 13 | 14 | // Validación de si una cadena es un número 15 | public static boolean isNumeric(String cadena){ 16 | try { 17 | Integer.parseInt(cadena); 18 | return true; 19 | } catch (NumberFormatException nfe){ 20 | return false; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/string/SaltoDeLinea.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.string; 2 | 3 | /** 4 | * @file SaltoDeLinea.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 20/diciembre/2006 8 | * @url http://lineadecodigo.com/java/string-con-salto-de-linea-en-java/ 9 | * @description Generar una cadena que tenga un salto de línea 10 | */ 11 | 12 | 13 | public class SaltoDeLinea { 14 | 15 | public static void main(String[] args) { 16 | 17 | String cadena = new String("Mi texto con\nun salto de línea"); 18 | System.out.println(cadena); 19 | 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/HoraEnMilisegundos.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file HoraEnMilisegundos.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 03/junio/2015 8 | * @url http://lineadecodigo.com/java/hora-en-milisegundos-con-java/ 9 | * @description Código que muestra la hora actual en milisegundos. 10 | */ 11 | 12 | public class HoraEnMilisegundos { 13 | 14 | public static void main(String[] args) { 15 | 16 | System.out.println("La hora actual en milisegundos es: " + System.currentTimeMillis()); 17 | 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/patrones/abstractfactory/FabricaDiscos.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones.abstractfactory; 2 | 3 | /** 4 | * @file FabricaDiscos.java 5 | * @author Feffo Calendino (http://lineadecodigo.com/author/feffon/) 6 | * @date Enero 29, 2013 7 | * @url http://lineadecodigo.com/patrones/patron-abstract-factory/ 8 | * @description Codigo correspondiente al ejemplo sobre el patrón de diseño AbstractFactory 9 | */ 10 | 11 | import com.lineadecodigo.java.patrones.*; 12 | 13 | public interface FabricaDiscos { 14 | 15 | public BluRay crearBluRay(); 16 | public DVD crearDVD(); 17 | } 18 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/string/ExtraerCadena.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.string; 2 | 3 | /** 4 | * @file ExtraerCadena.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 26/mayo/2010 8 | * @url http://lineadecodigo.com/java/extraer-una-parte-de-una-cadena/ 9 | * @description Pasos para extraer una parte de una cadena 10 | */ 11 | 12 | public class ExtraerCadena { 13 | 14 | public static void main(String[] args) { 15 | 16 | String sCadena = "Hola Mundo"; 17 | String sSubCadena = sCadena.substring(5,10); 18 | System.out.println(sSubCadena); 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/system/SistemaOperativo.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.system; 2 | 3 | /** 4 | * @file SistemaOperativo.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 17/febrero/2009 8 | * @url http://lineadecodigo.com/java/conocer-el-sistema-operativo-con-java/ 9 | * @description Saber el sistema operativo en el que se ejecuta el código java 10 | */ 11 | 12 | public class SistemaOperativo { 13 | 14 | public static void main(String[] args) { 15 | String sSistemaOperativo = System.getProperty("os.name"); 16 | System.out.println(sSistemaOperativo); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/DirectorioTemporal.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | /** 4 | * @file DirectorioTemporal.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 10/noviembre/2011 8 | * @url http://lineadecodigo.com/java/directorio-temporal-del-sistema-en-java/ 9 | * @description Obtener directorio temporal del sistema. 10 | */ 11 | 12 | 13 | public class DirectorioTemporal { 14 | 15 | public static void main(String[] args) { 16 | 17 | System.out.println("El directorio temporal del sistema es " 18 | + System.getProperty("java.io.tmpdir")); 19 | 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/patrones/DVD_CapaDoble.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones; 2 | 3 | import com.lineadecodigo.java.patrones.prototype.Prototipo; 4 | 5 | public class DVD_CapaDoble extends DVD { 6 | 7 | @Override 8 | public Prototipo clone() { 9 | return new DVD_CapaDoble(); 10 | } 11 | 12 | @Override 13 | public String getCapacidad() { 14 | return "8.5GB"; 15 | } 16 | 17 | @Override 18 | public String getNombre() { 19 | return "DVD Capa Doble"; 20 | } 21 | 22 | @Override 23 | public String getPrecio() { 24 | return "10.00$"; 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/ParametrosMain.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file ParametrosMain.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 28/febrero/2011 8 | * @url http://lineadecodigo.com/java/pasar-parametros-a-una-aplicacion-java/ 9 | * @description Conocer que parámetros se pasan al método main 10 | */ 11 | 12 | public class ParametrosMain { 13 | 14 | public static void main(String[] args) { 15 | 16 | System.out.println("Los parámetros de la clase main son:"); 17 | 18 | for (String arg : args) 19 | System.out.println(arg); 20 | 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/arrays/ArrayChar2String.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.arrays; 2 | 3 | /** 4 | * @file ArrayChar2String.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 4/junio/2010 8 | * @url http://lineadecodigo.com/java/convertir-un-array-de-caracteres-en-un-string/ 9 | * @description convertir un array de caracteres en una cadena de texto 10 | */ 11 | 12 | public class ArrayChar2String { 13 | 14 | public static void main(String[] args) { 15 | 16 | char miarray[] = {'A','V','I','L','A'}; 17 | System.out.println(String.valueOf(miarray)); 18 | 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/patrones/DVD_CapaSimple.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones; 2 | 3 | import com.lineadecodigo.java.patrones.prototype.Prototipo; 4 | 5 | public class DVD_CapaSimple extends DVD { 6 | 7 | @Override 8 | public Prototipo clone() { 9 | return new DVD_CapaSimple(); 10 | } 11 | 12 | @Override 13 | public String getCapacidad() { 14 | return "4.7GB"; 15 | } 16 | 17 | @Override 18 | public String getNombre() { 19 | return "DVD Capa Simple"; 20 | } 21 | 22 | @Override 23 | public String getPrecio() { 24 | return "5.00$"; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/NumerosConCeroHasta100.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file NumerosConCeroHasta100.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 13/octubre/2019 8 | * @url http://lineadecodigo.com/java/numeros-que-contengan-un-cero/ 9 | * @description Listas los números del 1 al 100 que contengan, al menos, un cero. 10 | */ 11 | 12 | public class NumerosConCeroHasta100 { 13 | 14 | public static void main(String[] args) { 15 | 16 | for (int x=1;x<=100;x++) { 17 | if (x%10 == 0) 18 | System.out.println(x); 19 | } 20 | 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/json/ObjetoJSON.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.json; 2 | 3 | /** 4 | * @file ObjetoJSON.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 14/marzo/2020 8 | * @url http://lineadecodigo.com/java/convertir-un-objeto-a-json-con-json-simple/ 9 | * @description Objeto a JSON mediante JSON-Simple 10 | */ 11 | 12 | import com.github.cliftonlabs.json_simple.Jsoner; 13 | 14 | public class ObjetoJSON { 15 | 16 | public static void main(String[] args) { 17 | 18 | Alumno alumno = new Alumno("Mari Cielo",22); 19 | System.out.println(Jsoner.serialize(alumno)); 20 | 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/patrones/BluRay_CapaDoble.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones; 2 | 3 | import com.lineadecodigo.java.patrones.prototype.Prototipo; 4 | 5 | public class BluRay_CapaDoble extends BluRay { 6 | 7 | @Override 8 | public Prototipo clone() { 9 | return new BluRay_CapaDoble(); 10 | } 11 | 12 | @Override 13 | public String getCapacidad() { 14 | return "50GB"; 15 | } 16 | 17 | @Override 18 | public String getNombre() { 19 | return "BluRay Capa Doble"; 20 | } 21 | 22 | @Override 23 | public String getPrecio() { 24 | return "40.00$"; 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/SeparadorDirectorios.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | /** 4 | * @file SeparadorDirectorios.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 18-noviembre-2010 8 | * @url http://lineadecodigo.com/java/separador-de-directorios-en-java/ 9 | * @description Conocer cual es el separador de directorios del sistema operativo sobre el que se ejecuta Java 10 | */ 11 | 12 | public class SeparadorDirectorios { 13 | 14 | public static void main(String[] args) { 15 | System.out.println("El separador de directorios de tu SO es " + System.getProperty("file.separator")); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/patrones/BluRay_CapaSimple.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones; 2 | 3 | import com.lineadecodigo.java.patrones.prototype.Prototipo; 4 | 5 | public class BluRay_CapaSimple extends BluRay { 6 | 7 | @Override 8 | public Prototipo clone() { 9 | return new BluRay_CapaSimple(); 10 | } 11 | 12 | @Override 13 | public String getCapacidad() { 14 | return "25GB"; 15 | } 16 | 17 | @Override 18 | public String getNombre() { 19 | return "BluRay Capa Simple"; 20 | } 21 | 22 | @Override 23 | public String getPrecio() { 24 | return "8.00$"; 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/NumeroAleatorio.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file NumeroAleatorio.java 5 | * @version 1.2 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 25/marzo/2007 8 | * @url http://lineadecodigo.com/java/numero-aleatorio-en-java/ 9 | * @description Código para generar número aleatorios en Java entre 1 y 25 10 | */ 11 | 12 | 13 | public class NumeroAleatorio { 14 | 15 | public static void main(String[] args) { 16 | 17 | int numeroAleatorio = (int) (Math.random()*25+1); 18 | System.out.println("El número aleatorio entre 1 y 25 es: " + numeroAleatorio); 19 | 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/RutaAbsoluta.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | import java.io.File; 4 | 5 | /** 6 | * @file RutaAbsoluta.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 21/noviembre/2011 10 | * @url http://lineadecodigo.com/java/obtener-la-ruta-absoluta-de-un-fichero-con-java/ 11 | * @description Obtener la ruta absoluta de un fichero 12 | */ 13 | 14 | public class RutaAbsoluta { 15 | 16 | public static void main(String[] args) { 17 | 18 | File fichero = new File("test.txt"); 19 | System.out.println("La ruta del fichero es: " + fichero.getAbsolutePath()); 20 | 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/math/AreaTriangulo.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.math; 2 | 3 | /** 4 | * @file AreaTriangulo.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 03/junio/2015 8 | * @url http://lineadecodigo.com/java/area-de-un-triangulo-con-java/ 9 | * @description Código para calcular el área de un triángulo. 10 | */ 11 | 12 | public class AreaTriangulo { 13 | 14 | public static void main(String[] args) { 15 | 16 | float area_triangulo = 0; 17 | int base = 5; 18 | int altura = 3; 19 | area_triangulo =(float)base*altura/2; 20 | 21 | System.out.println(area_triangulo); 22 | 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/DirectorioTrabajo.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | /** 4 | * @file DirectorioTrabajo.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 12/septiembre/2011 8 | * @url http://lineadecodigo.com/java/conocer-el-directorio-de-trabajo-de-java/ 9 | * @description Como saber en qué directorio se está ejecutando el programa Java 10 | */ 11 | 12 | public class DirectorioTrabajo { 13 | 14 | public static void main(String[] args) { 15 | String sDirectorioTrabajo = System.getProperty("user.dir"); 16 | System.out.println("El directorio de trabajo es " + sDirectorioTrabajo); 17 | 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/EsUnDigito.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file EsUnDigito.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 30/diciembre/2006 8 | * @url http://lineadecodigo.com/java/¿es-ese-caracter-un-numero/ 9 | * @description Valida si una cadena introducida por pantalla es un número 10 | */ 11 | 12 | public class EsUnDigito { 13 | 14 | public static void main(String[] args) { 15 | 16 | 17 | if (Character.isDigit('3')) 18 | System.out.println("El caracter es un dígito"); 19 | else 20 | System.out.println("El caracter NO es un dígito"); 21 | 22 | 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/string/ObtenerCaracterCadena.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.string; 2 | 3 | /** 4 | * @file ObtenerCaracterCadena.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 3/enero/2010 8 | * @url http://lineadecodigo.com/java/obtener-un-caracter-de-una-cadena-con-java/ 9 | * @description Código para obtener un carácter de una cadena de texto 10 | */ 11 | 12 | public class ObtenerCaracterCadena { 13 | 14 | public static void main(String[] args) { 15 | 16 | String sCadena = "Esto es una cadena de texto"; 17 | 18 | //Obtenemos el 5 caracter 19 | System.out.println(sCadena.charAt(5)); 20 | 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/NumeroRandom.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util; 2 | 3 | /** 4 | * @file NumeroRandom.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 03/junio/2015 8 | * @url http://lineadecodigo.com/java/generar-un-numero-aleatorio/ 9 | * @description Uso de la clase Random para generar números aleatorios. 10 | */ 11 | 12 | import java.util.Random; 13 | 14 | public class NumeroRandom { 15 | 16 | public static void main(String[] args) { 17 | 18 | Random r = new Random(); 19 | int limite=10; 20 | 21 | System.out.println(r.nextInt()); 22 | System.out.println(r.nextInt(limite+1)); 23 | 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/NumerosConCeroHasta1000.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file NumerosConCeroHasta1000.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 13/octubre/2019 8 | * @url http://lineadecodigo.com/java/xxxx/ 9 | * @description Listas los números del 1 al 1000 que contengan, al menos, un cero. Y sin utilizar operciones de cadena 10 | */ 11 | 12 | public class NumerosConCeroHasta1000 { 13 | 14 | public static void main(String[] args) { 15 | 16 | for (int x=1;x<=1000;x++) { 17 | if ((x%10 == 0) || ((x>100) && (x/10%10 == 0))) 18 | System.out.println(x); 19 | } 20 | 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/math/NumeroPI.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.math; 2 | 3 | /** 4 | * @file NumeroPI.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 15/julio/2007 8 | * @url http://lineadecodigo.com/java/numero-pi-en-java/ 9 | * @description Uso de la constante PI mediante la librería Java Math 10 | */ 11 | 12 | public class NumeroPI { 13 | 14 | public static void main(String[] args) { 15 | 16 | double radio = 5.0; 17 | double area = Math.PI * Math.pow(radio, 2); 18 | System.out.println("El área del círculo con radio " + radio + " es: " + area); 19 | 20 | System.out.println("El valor del número PI es " + Math.PI); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/math/PotenciasDelDos.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.math; 2 | 3 | /** 4 | * @file PotenciasDelDos.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 14/enero/2009 8 | * @url http://lineadecodigo.com/java/potencias-del-dos-con-java/ 9 | * @description Listado de potencias del 2. 10 | */ 11 | 12 | public class PotenciasDelDos { 13 | 14 | public static void main(String[] args) { 15 | 16 | int iNumeroPotencias = 10; 17 | 18 | System.out.println("Potencias del dos"); 19 | 20 | for (int x=0;x<=iNumeroPotencias;x++) 21 | System.out.println("2 elevado a " + x + " igual a " + (int)Math.pow(2,x)); 22 | 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/string/ReemplazarContenido.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.string; 2 | 3 | /** 4 | * @file ReemplazarContenido.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 31/mayo/2010 8 | * @url http://lineadecodigo.com/java/reemplazar-contenido-con-java/ 9 | * @description Reemplazar contenido de un texto 10 | */ 11 | 12 | public class ReemplazarContenido { 13 | 14 | public static void main(String[] args) { 15 | 16 | String s = "La pausa la realizó Fernando. En las representaciones de teatro, Fernando era el que mejor llevaba el tempo"; 17 | s = s.replaceAll("Fernando", "Pedro"); 18 | System.out.println(s); 19 | 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/Pila.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections; 2 | 3 | import java.util.Stack; 4 | 5 | /** 6 | * @file Pila.java 7 | * @version 1.0 8 | * @author LVíctor Cuervo (http://lineadecodigo.com) 9 | * @date 06/octubre/2009 10 | * @url http://lineadecodigo.com/java/crear-una-pila-en-java/ 11 | * @description Clase que instancia y utiliza una pila 12 | */ 13 | 14 | public class Pila { 15 | 16 | public static void main(String[] args) { 17 | 18 | Stack pila = new Stack(); 19 | 20 | for (int x=1;x<=10;x++) 21 | pila.push(Integer.toString(x)); 22 | 23 | while (!pila.empty()) 24 | System.out.println(pila.pop()); 25 | 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/NumeroDigitosLogaritmo.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file NumeroDigitosLogaritmo.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 08/febrero/2020 8 | * @url http://lineadecodigo.com/java/digitos-de-un-numero-con-logaritmos/ 9 | * @description Número de dígitos de un número mediante el uso de un Logaritmo 10 | */ 11 | 12 | public class NumeroDigitosLogaritmo { 13 | 14 | public static void main(String[] args) { 15 | int iNumero = 1234589; 16 | int length = (int) (Math.log10(iNumero) + 1); 17 | System.out.println("El número " + iNumero + " cuenta con " + length + " dígitos"); 18 | 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/arrays/ArraytoString.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.arrays; 2 | 3 | import java.util.Arrays; 4 | 5 | /** 6 | * @file ArrayChar2String.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 14/marzo/202s0 10 | * @url http://lineadecodigo.com/java/volcar-array-como-cadena/ 11 | * @description Visualizar el contenido de un array como si fuese una cadena, pero con corchetes y separaciones de elementos.s 12 | */ 13 | 14 | public class ArraytoString { 15 | 16 | public static void main(String[] args) { 17 | 18 | int numeros[] = {12,20,98,3,56,69,7,19}; 19 | System.out.println(Arrays.toString(numeros)); 20 | 21 | 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/json/ObjetoJSONGson.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.json; 2 | 3 | /** 4 | * @file ObjetoJSONGson.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 14/marzo/2020 8 | * @url http://lineadecodigo.com/java/crear-objeto-json-con-gson/ 9 | * @description Convertir un objeto a JSON con la librería Gson de Google 10 | */ 11 | 12 | import com.google.gson.Gson; 13 | import com.lineadecodigo.base.Persona; 14 | 15 | public class ObjetoJSONGson { 16 | 17 | public static void main(String[] args) { 18 | 19 | Persona persona = new Persona("Mari Cielo",32); 20 | 21 | Gson g = new Gson(); 22 | System.out.println(g.toJson(persona)); 23 | 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/string/TamanioCadena.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.string; 2 | 3 | /** 4 | * @file TamanioCadena.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 13/diciembre/2006 8 | * @url http://lineadecodigo.com/java/tamano-de-una-cadena-en-java/ 9 | * @description Código que nos calcula el tamaño de una cadena en Java 10 | */ 11 | 12 | 13 | public class TamanioCadena { 14 | 15 | public static void main(String[] args) { 16 | 17 | String sMiCadena = "En un lugar de la Mancha"; 18 | System.out.println("Cadena de Texto: '" + sMiCadena + "'"); 19 | System.out.println("Tamaño de la cadena: " + sMiCadena.length() + " caracteres"); 20 | 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/xml/sax/MiManejador.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.xml.sax; 2 | 3 | import org.xml.sax.SAXException; 4 | import org.xml.sax.helpers.DefaultHandler; 5 | 6 | /** 7 | * @file MiManejador.java 8 | * @version 1.0 9 | * @author Víctor Cuervo (http://lineadecodigo.com) 10 | * @date 17/abril/2010 11 | * @url http://lineadecodigo.com/java/acceder-al-xml-con-sax/ 12 | * @description Manejador SAX para el ejemplo MiPrimerSAX. 13 | */ 14 | 15 | public class MiManejador extends DefaultHandler { 16 | 17 | MiManejador(){} 18 | 19 | public void characters(char[] ch, int start, int len) 20 | throws SAXException{ 21 | System.out.println(new String(ch,start,len)); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/base/Web.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.base; 2 | 3 | /** 4 | * @file Web.java 5 | * @version 1.2 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 4/marzo/2007 8 | * @url No Aplica 9 | * @description Clase de ejemplo que representa a una web (titulo + url) 10 | */ 11 | 12 | 13 | public class Web { 14 | 15 | private String titulo ="LocalHost"; 16 | private String URL = "http://localhost"; 17 | 18 | public String getTitulo() { 19 | return titulo; 20 | } 21 | public void setTitulo(String titulo) { 22 | this.titulo = titulo; 23 | } 24 | public String getURL() { 25 | return URL; 26 | } 27 | public void setURL(String url) { 28 | URL = url; 29 | } 30 | 31 | 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/string/CodigosASCIICadena.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.string; 2 | 3 | /** 4 | * @file CodigosASCIICadena.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 4/enero/2010 8 | * @url http://lineadecodigo.com/java/obtener-los-codigos-ascii-de-una-cadena-de-texto/ 9 | * @description Extraer los códigos ASCII de una cadena de texto 10 | */ 11 | 12 | public class CodigosASCIICadena { 13 | 14 | 15 | public static void main(String[] args) { 16 | 17 | String sCadena = "Esto es una cadena de texto"; 18 | 19 | for (int x=0;x=0;x--) 20 | sCadenaInvertida = sCadenaInvertida + sCadena.charAt(x); 21 | 22 | System.out.println(sCadenaInvertida); 23 | 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/LecturaCaracterConsola.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file LecturaCaracterConsola.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 31/marzo/2007 8 | * @url http://lineadecodigo.com/2007/04/06/lectura-de-caracteres-por-consola-en-java/ 9 | * @description Explicación de cómo se realiza una lectura de caracteres por teclado en una aplicación de consola. 10 | */ 11 | 12 | import java.io.IOException; 13 | 14 | public class LecturaCaracterConsola { 15 | 16 | public static void main(String[] args) throws IOException { 17 | 18 | int caracter = 0; 19 | 20 | while (caracter!=13) { 21 | caracter = System.in.read(); 22 | System.out.print((char)caracter); 23 | } 24 | 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/math/AreaCirculo.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.math; 2 | 3 | /** 4 | * @file AreaCirculo.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 21/diciembre/2006 8 | * @url http://lineadecodigo.com/java/area-de-un-circulo-en-java/ 9 | * @description Uso de la clase Math para el calculo del area de un circulo 10 | */ 11 | 12 | public class AreaCirculo { 13 | 14 | public static void main(String[] args) { 15 | 16 | double radio = 6; 17 | double area; 18 | 19 | area = 3.1416 * Math.pow(radio,2); 20 | System.out.println("El área de un circulo de radio "+radio+" es "+area); 21 | 22 | area = Math.PI * Math.pow(radio,2); 23 | System.out.println("El área de un circulo de radio "+radio+" es "+area); 24 | 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/arrays/InicializarArray.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.arrays; 2 | 3 | /** 4 | * @file InicializarArray.java 5 | * @version 1.2 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 14/junio/2007 8 | * @url http://lineadecodigo.com/java/inicializar-un-array-en-java/ 9 | * @description Dos formas de inicializar un array. 10 | */ 11 | 12 | public class InicializarArray { 13 | 14 | public static void main(String[] args) { 15 | 16 | String a[] = {"Avila","Burgos","León","Palencia","Salamanca", 17 | "Segovia","Soria","Valladolid","Zamora"}; 18 | 19 | String b[] = new String[9]; 20 | 21 | b[0] = "Avila"; 22 | b[1] = "Burgos"; 23 | b[2] = "León"; 24 | 25 | System.out.println(a[0]); 26 | System.out.println(b[1]); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/NumeroPar.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file NumeroPar.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 18/diciembre/2006 8 | * @url http://lineadecodigo.com/java/numeros-pares-en-java/ 9 | * @description Código que nos ayuda a saber si un número es par con Java 10 | */ 11 | 12 | public class NumeroPar { 13 | 14 | static boolean esPar(int numero){ 15 | if (numero%2==0) return true; else return false; 16 | } 17 | 18 | public static void main(String[] args) { 19 | 20 | if (esPar(4) ) 21 | System.out.println("El numero es par"); 22 | else 23 | System.out.println("El número es impar"); 24 | 25 | if (!esPar(5)) 26 | System.out.println("El número es impar"); 27 | 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/SumatorioDeUnNumeroRecursivo.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file SumatorioDeUnNumeroRecursivo.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 23/junio/2007 8 | * @url http://lineadecodigo.com/2007/06/24/sumatorio-de-un-numero-de-forma-recursiva/ 9 | * @description Utilización de programación recursiva para calcular el sumatorio de un número en Java. 10 | */ 11 | 12 | public class SumatorioDeUnNumeroRecursivo { 13 | 14 | public static void main(String[] args) { 15 | System.out.println(Sumatorio(10)); 16 | } 17 | 18 | private static int Sumatorio(int iNumero){ 19 | 20 | if (iNumero==0) 21 | return 0; 22 | else 23 | return iNumero + Sumatorio(iNumero-1); 24 | 25 | } 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/BorrarFichero.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | import java.io.File; 4 | 5 | /** 6 | * @file BorrarFichero.java 7 | * @version 1.1 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 26/febrero/08 10 | * @url http://lineadecodigo.com/java/borrar-un-fichero-con-java/ 11 | * @description Borrar un fichero desde un programa Java 12 | */ 13 | 14 | 15 | public class BorrarFichero { 16 | 17 | public static void main(String[] args) { 18 | 19 | String sFichero = "c:\\prueba\\prueba.txt"; 20 | File f = new File(sFichero); 21 | 22 | if (f.delete()) 23 | System.out.println("El fichero " + sFichero + " ha sido borrado correctamente"); 24 | else 25 | System.out.println("El fichero " + sFichero + " no se ha podido borrar"); 26 | 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/string/ConvertirCadenaArrayCaracteres.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.string; 2 | 3 | /** 4 | * @file ConvertirCadenaArrayCaracteres.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 14/febrero/2009 8 | * @url http://lineadecodigo.com/2009/02/14/convertir-una-cadena-en-un-array-de-caracteres-con-java/ 9 | * @description Convierte una cadena de texto en un array de caracteres 10 | */ 11 | 12 | public class ConvertirCadenaArrayCaracteres { 13 | 14 | public static void main(String[] args) { 15 | 16 | String sCadena = "Esto es una cadena de texto"; 17 | 18 | char[] aCaracteres = sCadena.toCharArray(); 19 | 20 | for (int x=0;x list = new ArrayList(); 19 | 20 | // Añadimos elementos 21 | list.add("Marta"); 22 | list.add("Luis"); 23 | list.add("Francisco"); 24 | 25 | list.forEach((n) -> System.out.println(n)); 26 | 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/SumatorioDeUnNumero.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file SumatorioDeUnNumero.java 5 | * @version 1.2 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 12/junio/2007 8 | * @url http://lineadecodigo.com/java/sumatorio-de-un-numero-en-java/ 9 | * @description Utilización de un bucle para calcular el sumatorio de un número en Java. 10 | */ 11 | 12 | public class SumatorioDeUnNumero { 13 | 14 | public static void main(String[] args) { 15 | 16 | int iNumero = 5; 17 | int iSumatorio = 0; 18 | int iContador = iNumero; 19 | 20 | while (iContador != 0) { 21 | 22 | iSumatorio = iSumatorio + iContador; 23 | iContador--; 24 | 25 | } 26 | 27 | System.out.println("El sumatorio de " + iNumero + " es " + iSumatorio); 28 | 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/TablasDeMultiplicarRecursivas.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file TablasMultiplicarRecursivas.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 12/febrero/2008 8 | * @url http://lineadecodigo.com/java/tablas-de-multiplicar-recursivas-en-java/ 9 | * @description Utilización de programación recursiva para generar las tablas de multiplicar 10 | */ 11 | 12 | public class TablasDeMultiplicarRecursivas { 13 | 14 | 15 | public static void multiplicar(int iTabla, int iNumero){ 16 | 17 | if (iNumero>1) 18 | multiplicar(iTabla,iNumero-1); 19 | 20 | System.out.println(iTabla + "x" + iNumero + "=" + iTabla*iNumero); 21 | } 22 | 23 | 24 | public static void main(String[] args) { 25 | multiplicar(3,10); 26 | 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/patrones/abstractfactory/FabricaDiscos_CapaDoble.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones.abstractfactory; 2 | 3 | /** 4 | * @file FabricaDiscos_CapaDoble.java 5 | * @author Feffo Calendino (http://lineadecodigo.com/author/feffon/) 6 | * @date 29/enero/2013 7 | * @url http://lineadecodigo.com/patrones/patron-abstract-factory/ 8 | * @description Codigo correspondiente al ejemplo sobre el patrón de diseño AbstractFactory 9 | */ 10 | 11 | import com.lineadecodigo.java.patrones.*; 12 | 13 | public class FabricaDiscos_CapaDoble implements FabricaDiscos { 14 | 15 | @Override 16 | public BluRay crearBluRay() { 17 | return new BluRay_CapaDoble(); 18 | } 19 | 20 | @Override 21 | public DVD crearDVD() { 22 | return new DVD_CapaDoble(); 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/arrays/OrdernarArray.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.arrays; 2 | 3 | import java.util.Arrays; 4 | 5 | /** 6 | * @file OrdenarArray.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 12/marzo/2016 10 | * @url http://lineadecodigo.com/java/ordenar-array-java/ 11 | * @description Código que ordena un array 12 | */ 13 | 14 | public class OrdernarArray { 15 | 16 | public static void main(String[] args) { 17 | 18 | int[] numeros = {7,4,5,2,1,10,8}; 19 | 20 | imprimir(numeros); 21 | Arrays.sort(numeros); 22 | imprimir(numeros); 23 | 24 | 25 | } 26 | 27 | 28 | public static void imprimir(int[] numeros){ 29 | 30 | for (int numero:numeros) 31 | System.out.println(numero); 32 | 33 | System.out.println("-----"); 34 | 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/string/BuscarPrimerPunto.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.string; 2 | 3 | /** 4 | * @file BuscarPrimerPunto.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 15/junio/2015 8 | * @url http://lineadecodigo.com/java/primer-punto-de-la-cadena-con-java/ 9 | * @description Localizar el primer punto de una cadena con Java 10 | */ 11 | 12 | public class BuscarPrimerPunto { 13 | 14 | 15 | public static void main(String[] args) { 16 | 17 | String sCadena = "www.lineadecodigo.com"; 18 | 19 | String sHastaPrimerPunto = sCadena.substring(0,sCadena.indexOf('.')); 20 | String sDesdePrimerPunto = sCadena.substring(sCadena.indexOf('.')+1,sCadena.length()); 21 | 22 | System.out.println(sHastaPrimerPunto); 23 | System.out.println(sDesdePrimerPunto); 24 | 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/lista/ObtenerElementoLista.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections.lista; 2 | 3 | /** 4 | * @file ObtenerElementoLista.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 9/noviembre/2014 8 | * @url http://lineadecodigo.com/java/obtener-elemento-de-un-arraylist/ 9 | * @description Obtener un elemento de un ArrayList. 10 | */ 11 | 12 | import java.util.ArrayList; 13 | 14 | public class ObtenerElementoLista { 15 | 16 | public static void main(String[] args) { 17 | 18 | ArrayList al = new ArrayList(); 19 | 20 | // Añadir elementos a un ArrayList 21 | al.add("Victor"); 22 | al.add("Luis"); 23 | al.add("Elena"); 24 | 25 | System.out.println(al.get(0)); 26 | System.out.println(al.get(2)); 27 | 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/io/RenombrarFicheros.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.io; 2 | 3 | /** 4 | * @file RenombrarFicheros.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 25/noviembre/2006 8 | * @url http://lineadecodigo.com/java/renombrar-un-fichero-con-java-io/ 9 | * @description Uso de la clase File para renombrar ficheros con Java. 10 | */ 11 | 12 | import java.io.File; 13 | 14 | public class RenombrarFicheros { 15 | 16 | public static void main(String[] args) { 17 | 18 | File f1 = new File("fichero1.txt"); 19 | File f2 = new File("fichero2.txt"); 20 | 21 | boolean correcto = f1.renameTo(f2); 22 | 23 | if (correcto) 24 | System.out.println("El renombrado ha sido correcto"); 25 | else 26 | System.out.println("El renombrado no se ha podido realizar"); 27 | 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/List2Array.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections; 2 | 3 | /** 4 | * @file List2Array.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 31/enero/2014 8 | * @url http://lineadecodigo.com/java/convertir-una-lista-en-un-array/ 9 | * @description Convierte una lista en un array 10 | */ 11 | 12 | import java.util.ArrayList; 13 | import java.util.List; 14 | 15 | public class List2Array { 16 | 17 | 18 | public static void main(String[] args) { 19 | List milista = new ArrayList(); 20 | milista.add("Elemento 1"); 21 | milista.add("Elemento 2"); 22 | 23 | String[] miarray = new String[milista.size()]; 24 | miarray = milista.toArray(miarray); 25 | 26 | for(String s : miarray) 27 | System.out.println(s); 28 | 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/arrays/SubArray.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.arrays; 2 | 3 | import java.util.Arrays; 4 | 5 | /** 6 | * @file SubArray.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 14/marzo/2020 10 | * @url http://lineadecodigo.com/java/subarray-en-java/ 11 | * @description Obtener una parte de un array en un nuevo array. 12 | */ 13 | 14 | public class SubArray { 15 | 16 | public static T[] subarray (T[] array, int inicio, int fin) { 17 | return Arrays.copyOfRange(array,inicio-1,fin); 18 | } 19 | 20 | public static void main(String[] args) { 21 | 22 | Integer[] numeros = {1,2,3,4,5,6,7,8,9,10}; 23 | Integer[] parcial = subarray(numeros,1,4); 24 | 25 | for (int x=0;x paises = new Hashtable(); 19 | paises.put("ES", "España"); 20 | paises.put("UK", "Reino Unido"); 21 | paises.put("US", "Estados Unidos"); 22 | paises.put("FR", "Francia"); 23 | 24 | String clave = "US"; 25 | System.out.println("El valor de la clave " + clave + " es " + paises.get(clave)); 26 | 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/LecturaConsolaScanner.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util; 2 | 3 | /** 4 | * @file LecturaConsolaScanner.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 31/diciembre/2008 8 | * @url http://lineadecodigo.com/java/lectura-de-datos-en-java-con-scanner/ 9 | * @description Ejemplo de lectura de datos por consola mediante la clase Scanner. 10 | */ 11 | 12 | import java.util.Scanner; 13 | 14 | public class LecturaConsolaScanner { 15 | 16 | public static void main(String[] args) { 17 | 18 | Scanner reader = new Scanner(System.in); 19 | String sTexto = ""; 20 | 21 | System.out.println("Escribe palabras hasta que te canses. Entonces escribe FIN"); 22 | 23 | do { 24 | sTexto = reader.next(); 25 | System.out.println(sTexto); 26 | } while(!sTexto.equals("FIN")); 27 | 28 | reader.close(); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/DividirSinDividir.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file DividirSinDividir.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 18/febrero/2016 8 | * @url http://lineadecodigo.com/java/dividir-sin-dividir-con-java/ 9 | * @description Calcular el cociente y resto de una división si utilizar el operador de división ni módulo 10 | */ 11 | 12 | public class DividirSinDividir { 13 | 14 | public static void main(String[] args) { 15 | 16 | int dividendo = 13; 17 | int divisor = 2; 18 | int cociente = 0; 19 | 20 | dividendo = dividendo-divisor; 21 | 22 | while (dividendo >0) { 23 | cociente++; 24 | dividendo = dividendo-divisor; 25 | } 26 | 27 | System.out.println("Cociente " + cociente); 28 | System.out.println("Resto " + (-dividendo)); 29 | 30 | 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/lista/RecorrerArrayList.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections.lista; 2 | 3 | /** 4 | * @file CrearArrayList.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 1/noviembre/2014 8 | * @url http://lineadecodigo.com/java/recorrer-un-arraylist/ 9 | * @description Recorrer un ArrayList mediante un bucle for 10 | */ 11 | 12 | import java.util.ArrayList; 13 | 14 | public class RecorrerArrayList { 15 | 16 | public static void main(String[] args) { 17 | 18 | // ArrayList con tamaño 19 | ArrayList al = new ArrayList(); 20 | 21 | // Añadir elementos a un ArrayList 22 | al.add("Victor"); 23 | al.add("Luis"); 24 | al.add("Elena"); 25 | 26 | 27 | // Recorrer un ArrayList 28 | for(int x=0;x al = new ArrayList(); 20 | 21 | // Añadir elementos a un ArrayList 22 | al.add("Victor"); 23 | al.add("Luis"); 24 | al.add("Elena"); 25 | 26 | for(int x=0;x miVector = new Vector(); 22 | miVector.add("Victor"); 23 | miVector.add("julio"); 24 | miVector.add("amaya"); 25 | 26 | Collections.sort(miVector); 27 | 28 | for(String sElemento: miVector){ 29 | System.out.println(sElemento); 30 | } 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/NumeroDigitos.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file NumeroDigitos.java 5 | * @version 2.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 14/mayo/2011 8 | * @url http://lineadecodigo.com/java/digitos-de-un-numero/ 9 | * @description Código que nos dice cuántos dígitos tiene un número 10 | * v2 - Incluido el calculo mediante un bucle. 11 | */ 12 | 13 | public class NumeroDigitos { 14 | 15 | public static void main(String[] args) { 16 | int iNumero = 123458; 17 | String x = Integer.toString(iNumero); 18 | System.out.println(iNumero + " tiene " + x.length() + " dígitos"); 19 | 20 | int iCantidad = 0; 21 | int iTemp = iNumero; 22 | 23 | while (iTemp>0){ 24 | iTemp = iTemp/10; 25 | iCantidad++; 26 | } 27 | 28 | System.out.println(iNumero + " tiene " + iCantidad + " dígitos"); 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/arrays/BuscarEnArray.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.arrays; 2 | 3 | /** 4 | * @file BuscarEnArray.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 09/febrero/2020 8 | * @url http://lineadecodigo.com/java/buscar-en-un-array/ 9 | * @description Buscar un elemento en un array 10 | */ 11 | 12 | import java.util.Arrays; 13 | 14 | public class BuscarEnArray { 15 | 16 | private static boolean searchList(String[] strings, String searchString) { 17 | return Arrays.asList(strings) 18 | .contains(searchString); 19 | } 20 | 21 | public static void main(String[] args) { 22 | 23 | String[] nombres = {"Marta","Ana","Luis","Rodrigo","Virginia"}; 24 | 25 | if (searchList(nombres,"Fernando")) 26 | System.out.println("Valor en la lista"); 27 | else 28 | System.out.println("Valor no encontrado"); 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/InsertarElementosVector.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections; 2 | 3 | import java.util.Iterator; 4 | import java.util.Vector; 5 | 6 | /** 7 | * @file InsertarElementosVector.java 8 | * @version 1.0 9 | * @author Víctor Cuervo (http://lineadecodigo.com) 10 | * @date 17/enero/2009 11 | * @url http://lineadecodigo.com/2006/12/17/insertar-elementos-en-un-vector/ 12 | * @description Insertar elementos en un vector 13 | */ 14 | 15 | 16 | public class InsertarElementosVector { 17 | 18 | public static void main(String[] args) { 19 | 20 | Vector mivector = new Vector(); 21 | 22 | mivector.add("Elemento Uno"); 23 | mivector.add("Elemento Dos"); 24 | mivector.add("Elemento Tres"); 25 | 26 | Iterator iter = mivector.iterator(); 27 | while (iter.hasNext()) 28 | System.out.println(iter.next()); 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/OperadorTernario.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file OperadorTernario.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 18/mayo/2010 8 | * @url http://lineadecodigo.com/java/el-operador-ternario-en-java/ 9 | * @description Calculo del mayor de dos números mediante el operador ternario ?: 10 | */ 11 | 12 | public class OperadorTernario { 13 | 14 | public static void main(String[] args) { 15 | 16 | // Calcular el mayor de dos números 17 | int x=10; 18 | int y=8; 19 | int mayor; 20 | 21 | 22 | // Con if-then-else 23 | if (x>y) 24 | mayor = x; 25 | else 26 | mayor = y; 27 | 28 | System.out.println("El mayor de dos números es el " + mayor); 29 | 30 | // Con el operador ? 31 | mayor=(x>y)?x:y; 32 | System.out.println("El mayor de dos números es el " + mayor); 33 | 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/lista/RecorrerListaSpliterator.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections.lista; 2 | 3 | /** 4 | * @file RecorrerListaSpliterator.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 14/agosto/2021 8 | * @url http://lineadecodigo.com/java/recorrer-una-lista-con-spliterator/ 9 | * @description Recorrer los elementos de un ArrayList mediante un spliterator. 10 | */ 11 | 12 | import java.util.ArrayList; 13 | import java.util.Arrays; 14 | import java.util.Spliterator; 15 | 16 | public class RecorrerListaSpliterator { 17 | 18 | public static void main(String[] args) { 19 | 20 | // ArrayList con tamaño 21 | ArrayList lista = new ArrayList(Arrays.asList(1,2,3,4,5,6,7,8,9,10)); 22 | 23 | Spliterator si = lista.spliterator()); 24 | si.forEachRemaining(n -> System.out.println(n)); 25 | 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/matriz/MatrizNegativa.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.matriz; 2 | 3 | /** 4 | * @file MatrizNegativa.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 1/agosto/2015 8 | * @url http://lineadecodigo.com/java/matriz-negativa-con-java/ 9 | * @description Código que genera una matriz negativa cambiado en signo a todos los elementos de la matriz. 10 | */ 11 | 12 | public class MatrizNegativa { 13 | 14 | public static void main(String[] args) { 15 | 16 | int[][] m = {{0,-2,4},{2,0,2},{-4,-2,0}}; 17 | 18 | System.out.println("Matriz Inicial"); 19 | Matriz.imprimir(m); 20 | 21 | for (int x=0; x < m.length; x++) { 22 | for (int y=0; y < m[x].length; y++) { 23 | m[x][y] = -m[x][y]; 24 | } 25 | } 26 | 27 | System.out.println("Matriz Negativa"); 28 | Matriz.imprimir(m); 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/CambiarFechaModificacionFichero.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | /** 4 | * @file CambiarFechaModificacionFichero.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 24/febrero/2012 8 | * @url http://lineadecodigo.com/java/cambiar-la-fecha-de-modificacion-de-un-fichero-con-java/ 9 | * @description Cambiar la fecha de modificación de un fichero 10 | */ 11 | 12 | import java.io.File; 13 | 14 | public class CambiarFechaModificacionFichero { 15 | 16 | public static void main(String[] args) { 17 | 18 | File fichero = new File("test.txt"); 19 | long ms = System.currentTimeMillis(); 20 | boolean cambio = fichero.setLastModified(ms); 21 | 22 | if (cambio) 23 | System.out.println("Se ha cambiado la hora del sistema satisfactoriamente"); 24 | else 25 | System.out.println("NO se ha podido cambiar la hora"); 26 | 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/NumeroElementosLista.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections; 2 | 3 | /** 4 | * @file NumeroElementosLista.java 5 | * @version 1.0 6 | * @author Víctor Cuervo. (http://lineadecodigo.com) 7 | * @date 03/junio/2015 8 | * @url http://lineadecodigo.com/java/numero-de-elementos-de-una-lista-en-java/ 9 | * @description Código que calcula el número de elementos de una lista 10 | */ 11 | 12 | 13 | import java.util.ArrayList; 14 | import java.util.List; 15 | 16 | public class NumeroElementosLista { 17 | 18 | public static void main(String[] args) { 19 | 20 | // Definimos una ArrayList 21 | List list = new ArrayList(); 22 | 23 | // Añadimos elementos 24 | list.add("Andrea"); 25 | list.add("Amaya"); 26 | list.add("Julio"); 27 | 28 | System.out.println("El numero de elementos de la lista es " + list.size()); 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/MediaDeNumeros.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file MediaDeNumeros.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 23/abril/2007 8 | * @url http://lineadecodigo.com/java/calcular-media-de-numeros-con-java/ 9 | * @description Utilización de arrays para el calculo de la media de una secuencia de numeros 10 | */ 11 | 12 | 13 | public class MediaDeNumeros { 14 | 15 | public static void main(String[] args) { 16 | // Declaramos el Array de 10 elementos. 17 | int array[] = {12,34,56,4,3,2,1,8,9,10}; 18 | double media = 0.0; 19 | 20 | // Presentamos por pantalla los caracteres introducidos 21 | for (int i=0; i < array.length; i++) { 22 | media = media + array[i]; 23 | } 24 | 25 | media = media / array.length; 26 | System.out.println("La media de los numeros es " + media); 27 | 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/ObtenerDirectorioPadre.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | import java.io.File; 4 | 5 | /** 6 | * @file ConvertirFicheroEnURL.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 26/septiembre/2011 10 | * @url http://lineadecodigo.com/java/obtener-directorio-padre-de-un-fichero/ 11 | * @description Obtener el directorio padre de un fichero 12 | */ 13 | 14 | public class ObtenerDirectorioPadre { 15 | 16 | public static void main(String[] args) { 17 | 18 | File fichero = new File("test.txt"); 19 | File fichero2 = new File(fichero.getAbsolutePath()); 20 | 21 | System.out.println("La ruta absoluta del fichero es " + fichero.getAbsolutePath()); 22 | System.out.println("El directorio padre del fichero es " + fichero.getParent()); 23 | System.out.println("El directorio padre del fichero es " + fichero2.getParent()); 24 | 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/ListarConjunto.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections; 2 | 3 | /** 4 | * @file ListarConjunto.java 5 | * @version 1.2 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 01/febrero/2009 8 | * @url http://lineadecodigo.com/java/listar-un-conjunto/ 9 | * @description Listar los elementos de un conjunto. 10 | */ 11 | 12 | import java.util.HashSet; 13 | import java.util.Iterator; 14 | import java.util.Set; 15 | 16 | public class ListarConjunto { 17 | 18 | public static void main(String[] args) { 19 | 20 | Set hs = new HashSet(); 21 | hs.add("Victor"); 22 | hs.add("Amaya"); 23 | hs.add("Amaya"); // Los elementos solo pueden estar una vez 24 | hs.add("Javier"); 25 | 26 | Iterator iter = hs.iterator(); 27 | while (iter.hasNext()) 28 | System.out.println(iter.next()); 29 | 30 | 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/ListarElementosArray.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file ListarElementosArray.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 17/junio/2007 8 | * @url http://lineadecodigo.com/2007/06/17/listar-elementos-de-un-array/ 9 | * @description Utilización de un bucle for para listar los elementos de un array. 10 | */ 11 | 12 | public class ListarElementosArray { 13 | 14 | public static void main(String[] args) { 15 | 16 | String a[] = {"Avila","Burgos","León","Palencia", 17 | "Salamanca","Segovia","Soria","Valladolid","Zamora"}; 18 | 19 | // Volcamos los arrays 20 | listarArray(a); 21 | 22 | } 23 | 24 | 25 | public static void listarArray (String[] a){ 26 | 27 | for (int x=0;x hs = new HashSet(); 19 | hs.add(2); 20 | hs.add(4); 21 | hs.add(6); 22 | hs.add(8); 23 | 24 | System.out.println("El número mayor del conjunto es... " 25 | + Collections.max(hs)); 26 | System.out.println("El número menor del conjunto es... " 27 | + Collections.min(hs)); 28 | 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/DibujandoUnaFigura.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file DibujandoUnaFigura.java 5 | * @version 1.2 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 6/mayo/2007 8 | * @url http://lineadecodigo.com/2007/05/06/dibujando-una-figura/ 9 | * @description Como dibujar una figura en la consola. Aprendizaje del uso de bucles while. 10 | */ 11 | 12 | public class DibujandoUnaFigura { 13 | 14 | public static void main(String[] args) { 15 | 16 | // Declaramos la variables columnas y filas. 17 | int columnas; 18 | int total_filas = 7; 19 | int filas = total_filas; // Tenemos 7 filas. 20 | 21 | 22 | while (filas > 0) { 23 | columnas = total_filas - filas; 24 | 25 | while (columnas > 0) { 26 | System.out.print('*'); 27 | columnas--; 28 | } 29 | 30 | System.out.println('*'); 31 | filas--; 32 | } 33 | 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/Milisegundos2Hora.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file Milisegundos2Hora.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 25/marzo/2007 8 | * @url http://lineadecodigo.com/2007/03/29/milisegundos-a-hora-en-java/ 9 | * @description Método que convierte los milisegundos en una hora 10 | */ 11 | 12 | public class Milisegundos2Hora { 13 | 14 | public static void main(String[] args) { 15 | 16 | long milisegundos = 110234; 17 | long hora,minuto,segundo; 18 | long restohora,restominuto,restosegundo; 19 | 20 | hora = milisegundos/3600000; 21 | restohora = milisegundos%3600000; 22 | 23 | minuto = restohora/60000; 24 | restominuto = restohora%60000; 25 | 26 | segundo = restominuto/1000; 27 | restosegundo = restominuto%1000; 28 | 29 | System.out.println(hora + ":" + minuto + ":" + segundo + "." + restosegundo); 30 | 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/lista/AjustarCapacidadArrayList.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections.lista; 2 | 3 | /** 4 | * @file AjustarCapacidadArrayList.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 16/agosto/2021 8 | * @url http://lineadecodigo.com/java/ajustar-la-capacidad-de-un-arraylist/ 9 | * @description Se ajusta la capacidad del ArrayList 10 | */ 11 | 12 | import java.util.ArrayList; 13 | 14 | public class AjustarCapacidadArrayList { 15 | 16 | public static void main(String[] args) { 17 | 18 | ArrayList al = new ArrayList(10); 19 | 20 | // Añadir elementos a un ArrayList 21 | al.add("Victor"); 22 | al.add("Luis"); 23 | al.add("Marta"); 24 | 25 | // Se ajusta el tamaño. Por defecto Java tiene preparado 1,5 la capacidad actual 26 | al.trimToSize(); 27 | 28 | System.out.println(al); 29 | System.out.println(al.size()); 30 | 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/external/jaunt/ScreenScraping.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.external.jaunt; 2 | 3 | /** 4 | * @file ScreenScraping.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 4/abril/2016 8 | * @url http://lineadecodigo.com/java/screen-scraping-java/ 9 | * @description Uso de la librería Jaunt para poder realizar screen scraping con Java 10 | */ 11 | 12 | /* 13 | import com.jaunt.ResponseException; 14 | import com.jaunt.UserAgent; 15 | */ 16 | 17 | public class ScreenScraping { 18 | 19 | public static void main(String[] args) { 20 | 21 | // Jaunt ha pasado a ser una librería de pago 22 | /* 23 | 24 | try { 25 | UserAgent userAgent = new UserAgent(); 26 | userAgent.visit("http://manualweb.net"); 27 | System.out.println(userAgent.doc.innerHTML()); 28 | 29 | } catch (ResponseException re) { 30 | re.printStackTrace(); 31 | } 32 | 33 | */ 34 | 35 | 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/ConstruirPath.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | /** 4 | * @file ConstruirPath.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 19/septiembre/2011 8 | * @url http://lineadecodigo.com/java/crear-la-ruta-de-un-fichero-con-java/ 9 | * @description Código que nos enseña a construir el path de un fichero independiente del SO en el que ejecutemos 10 | */ 11 | 12 | import java.io.File; 13 | 14 | public class ConstruirPath { 15 | 16 | public static void main(String[] args) { 17 | 18 | String sFichero = "mifichero.txt"; 19 | String sDirectorio = "midirectorio"; 20 | 21 | String separador = System.getProperty("file.separator"); 22 | 23 | String sPath = File.separator + sDirectorio + File.separator + sFichero; 24 | System.out.println(sPath); 25 | 26 | sPath = separador + sDirectorio + separador + sFichero; 27 | System.out.println(sPath); 28 | 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/dates/AnioBisiesto.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.dates; 2 | 3 | /** 4 | * @file AnioBisiesto.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 03/junio/2015 8 | * @url http://lineadecodigo.com/java/ano-bisiesto-en-java/ 9 | * @description Código que calcula si un año es bisiesto. 10 | */ 11 | 12 | import java.util.GregorianCalendar; 13 | 14 | public class AnioBisiesto { 15 | 16 | public static void main(String[] args) { 17 | 18 | int anio = 2008; 19 | 20 | if ((anio % 4 == 0) && ((anio % 100 != 0) || (anio % 400 == 0))) 21 | System.out.println("El año es bisiesto"); 22 | else 23 | System.out.println("El año no es bisiesto"); 24 | 25 | GregorianCalendar calendar = new GregorianCalendar(); 26 | 27 | if (calendar.isLeapYear(anio)) 28 | System.out.println("El año es bisiesto"); 29 | else 30 | System.out.println("El año no es bisiesto"); 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/dictionary/ListarClavesHashtable.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.dictionary; 2 | 3 | /** 4 | * @file ListarClavesHashtable.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 29/marzo/2011 8 | * @url http://lineadecodigo.com/java/listar-las-claves-de-una-hashtable/ 9 | * @description Lista las claves que tenga una Hashtable 10 | */ 11 | 12 | import java.util.Enumeration; 13 | import java.util.Hashtable; 14 | 15 | public class ListarClavesHashtable { 16 | 17 | 18 | public static void main(String[] args) { 19 | 20 | Hashtable paises = new Hashtable(); 21 | paises.put("ES", "España"); 22 | paises.put("UK", "Reino Unido"); 23 | paises.put("US", "Estados Unidos"); 24 | paises.put("FR", "Francia"); 25 | 26 | Enumeration e = paises.keys(); 27 | 28 | while(e.hasMoreElements()) 29 | System.out.println(e.nextElement()); 30 | 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/base/Persona.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.base; 2 | 3 | /** 4 | * @file Persona.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 8/julio/2007 8 | * @url No Aplica 9 | * @description Clase de ejemplo que representa a una persona (nombre y edad) 10 | */ 11 | 12 | 13 | public class Persona { 14 | 15 | String nombre; 16 | int edad; 17 | 18 | public Persona(){} 19 | 20 | public Persona(String nombre,int edad){ 21 | this.nombre = nombre; 22 | this.edad = edad; 23 | } 24 | 25 | public int getEdad() { 26 | return edad; 27 | } 28 | public void setEdad(int edad) { 29 | this.edad = edad; 30 | } 31 | public String getNombre() { 32 | return nombre; 33 | } 34 | public void setNombre(String nombre) { 35 | this.nombre = nombre; 36 | } 37 | 38 | @Override 39 | public boolean equals (Object p) { 40 | return (this.nombre.equals(((Persona)p).nombre) && this.edad==((Persona)p).edad); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/matriz/MatricesIguales.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.matriz; 2 | 3 | /** 4 | * @file MatricesIguales.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 19/julio/2015 8 | * @url http://lineadecodigo.com/java/comparar-matrices-en-java/ 9 | * @description Código que compara que dos matrices sean iguales en número de elementos y contenidos. 10 | */ 11 | 12 | import java.util.Arrays; 13 | 14 | public class MatricesIguales { 15 | 16 | public static void main(String[] args) { 17 | 18 | int[][] matriz1 = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}}; 19 | int[][] matriz2 = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}}; 20 | 21 | // Con equals no funciona ya que compara Object[]. 22 | // Usamos el deepEquals 23 | if (Arrays.deepEquals(matriz1, matriz2)) 24 | System.out.println("Son matrices iguales"); 25 | else 26 | System.out.println("Son matrices diferentes"); 27 | 28 | 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/variables/LiteralesBoolean.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.variables; 2 | 3 | /** 4 | * @file TiposDatoObjeto.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 31/enero/2015 8 | * @url http://lineadecodigo.com/java/literal-booleano-en-java/ 9 | * @description Como manejar para cargar y mostrar un literal booleano en Java 10 | */ 11 | 12 | public class LiteralesBoolean { 13 | 14 | public static void main(String[] args) { 15 | 16 | // Cargando un literal 17 | Boolean b1 = new Boolean("true"); 18 | System.out.println(b1.booleanValue()); 19 | 20 | 21 | // Devolviendo el valor en literal 22 | boolean b2 = true; 23 | System.out.println("La variable booleana tiene un valor de : "+b2); 24 | 25 | b2 = false; 26 | System.out.println("La variable booleana tiene un valor de : "+b2); 27 | 28 | String sB = b1.toString(); 29 | System.out.println(sB); 30 | 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/lista/ExtraerSublista.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections.lista; 2 | 3 | /** 4 | * @file ExtraerSublista.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 14/agosto/2021 8 | * @url http://lineadecodigo.com/java/extraer-una-sublista-en-java/ 9 | * @description Extrae una sublista de una lista inicial 10 | */ 11 | 12 | import java.util.ArrayList; 13 | import java.util.Arrays; 14 | import java.util.List; 15 | import java.util.Iterator; 16 | 17 | public class ExtraerSublista { 18 | 19 | public static void main(String[] args) { 20 | 21 | // ArrayList con tamaño 22 | ArrayList lista = new ArrayList(Arrays.asList(1,2,3,4,5,6,7,8,9,10)); 23 | 24 | List sublista = lista.subList(5, lista.size()); 25 | 26 | Iterator it = sublista.iterator(); 27 | while(it.hasNext()) 28 | System.out.println(it.next()); 29 | 30 | 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/string/PalabrasParesFrase.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.string; 2 | 3 | import java.util.StringTokenizer; 4 | 5 | /** 6 | * @file PalabrasPares.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 13/octubre/2019 10 | * @url http://lineadecodigo.com/java/palabras-pares-de-una-frase-con-java/ 11 | * @description Extraer las palabras pares de una cadena 12 | */ 13 | 14 | public class PalabrasParesFrase { 15 | 16 | public static void main(String[] args) { 17 | // TODO Auto-generated method stub 18 | String sCadena = "Esto es una cadena que contiene palabras y de las que quiero extraer las palabras pares"; 19 | StringTokenizer st = new StringTokenizer(sCadena); 20 | int iContador = 1; 21 | 22 | while (st.hasMoreElements()) { 23 | if (iContador%2 == 0) 24 | System.out.println(st.nextElement()); 25 | else 26 | st.nextElement(); 27 | 28 | iContador++; 29 | } 30 | 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/dates/ObtenerLaHora.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.dates; 2 | 3 | /** 4 | * @file ContarPalabras.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 03/junio/2015 8 | * @url http://lineadecodigo.com/java/obtener-la-hora-en-java/ 9 | * @description Código que nos muestra la hora actual. 10 | */ 11 | 12 | import java.util.Calendar; 13 | import java.util.GregorianCalendar; 14 | 15 | public class ObtenerLaHora { 16 | 17 | public static void main(String[] args) { 18 | 19 | // Ambas instanciaciones son válidas 20 | Calendar calendario = new GregorianCalendar(); 21 | //Calendar calendario = Calendar.getInstance(); 22 | 23 | int hora, minutos, segundos; 24 | 25 | hora =calendario.get(Calendar.HOUR_OF_DAY); 26 | minutos = calendario.get(Calendar.MINUTE); 27 | segundos = calendario.get(Calendar.SECOND); 28 | 29 | System.out.println(hora + ":" + minutos + ":" + segundos); 30 | 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/lista/IterarSobreLista.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections.lista; 2 | 3 | /** 4 | * @file IterarSobreLista.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 9/noviembre/2014 8 | * @url http://lineadecodigo.com/java/iterar-un-arraylist/ 9 | * @description Recorrer un ArrayList utilizando un iterador 10 | */ 11 | 12 | import java.util.ArrayList; 13 | import java.util.Iterator; 14 | 15 | public class IterarSobreLista { 16 | 17 | public static void main(String[] args) { 18 | 19 | 20 | // ArrayList con tamaño 21 | ArrayList al = new ArrayList(); 22 | 23 | // Añadir elementos a un ArrayList 24 | al.add("Victor"); 25 | al.add("Luis"); 26 | al.add("Elena"); 27 | 28 | // Recorrer un ArrayList con un Iterador 29 | Iterator it = al.iterator(); 30 | while(it.hasNext()) 31 | System.out.println(it.next()); 32 | 33 | 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/ForEach.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | /** 7 | * @file ForEach.java 8 | * @version 1.0 9 | * @author Víctor Cuervo (http://lineadecodigo.com) 10 | * @date 01/febrero/2009 11 | * @url http://lineadecodigo.com/2009/02/02/bucle-for-each-en-java/ 12 | * @description Utilizar de bucle for-each 13 | */ 14 | 15 | public class ForEach { 16 | 17 | public static void main(String[] args) { 18 | 19 | // Listar un array 20 | String array[] = {"Avila", "Burgos", "León", "Palencia", "Salamanca", "Segovia", "Soria", "Valladolid", "Zamora"}; 21 | 22 | for (String elemento: array) 23 | System.out.println(elemento); 24 | 25 | // Listar una colección 26 | List list = new ArrayList(); 27 | list.add("Victor"); 28 | list.add("Amaya"); 29 | list.add("Julio"); 30 | 31 | for (String nombre: list) 32 | System.out.println(nombre); 33 | 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/dates/ObtenerFecha.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.dates; 2 | 3 | /** 4 | * @file ObtenerFecha.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 16/octubre/2007 8 | * @url http://lineadecodigo.com/2007/10/16/obtener-fecha-actual-con-java/ 9 | * @description Obtener la fecha del día con Java. 10 | */ 11 | 12 | import java.util.Calendar; 13 | import java.util.Date; 14 | import java.util.GregorianCalendar; 15 | 16 | public class ObtenerFecha { 17 | 18 | public static void main(String[] args) { 19 | 20 | System.out.println (new Date()); 21 | 22 | Calendar c = new GregorianCalendar(); 23 | 24 | String dia, mes, annio; 25 | 26 | dia = Integer.toString(c.get(Calendar.DATE)); 27 | mes = Integer.toString(c.get(Calendar.MONTH)); 28 | annio = Integer.toString(c.get(Calendar.YEAR)); 29 | 30 | System.out.println (dia + "/" + mes +"/" + annio); 31 | 32 | 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/IsNumeric.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | import com.lineadecodigo.java.basico.Comunes; 4 | 5 | /** 6 | * @file isNumeric.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 25/marzo/2009 10 | * @url http://lineadecodigo.com/2006/12/29/validar-si-un-dato-es-numerico-en-java/ 11 | * @description Valida si una cadena introducida por pantalla es un número 12 | */ 13 | 14 | public class IsNumeric { 15 | 16 | public static void main(String[] args) { 17 | 18 | String cadenaUno = "1234"; 19 | String cadenaDos = "No soy un numero"; 20 | 21 | 22 | if (Comunes.isNumeric(cadenaUno)) 23 | System.out.println(cadenaUno + " es un numero"); 24 | else 25 | System.out.println(cadenaUno + " NO es un numero"); 26 | 27 | if (Comunes.isNumeric(cadenaDos)) 28 | System.out.println(cadenaDos + " es un numero"); 29 | else 30 | System.out.println(cadenaDos + " NO es un numero"); 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/matriz/MatrizSimetrica.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.matriz; 2 | 3 | /** 4 | * @file MatrizSimétrica.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 19/julio/2015 8 | * @url http://lineadecodigo.com/java/matriz-simetrica-con-java/ 9 | * @description Calcular si la matriz es simétrica. Es decir la matríz es igual a la transpuesta 10 | */ 11 | 12 | 13 | public class MatrizSimetrica { 14 | 15 | public static void main(String[] args) { 16 | 17 | int[][] m1 = {{1,2,3},{2,3,1},{3,1,2}}; 18 | 19 | System.out.println("--Matriz Inicial--"); 20 | Matriz.imprimir(m1); 21 | 22 | System.out.println("--Matriz Transpuesta--"); 23 | int[][] m2 = Matriz.transponer(m1); 24 | Matriz.imprimir(m2); 25 | 26 | if (Matriz.equals(m1, m2)) 27 | System.out.println("La matriz es una matriz simétrica"); 28 | else 29 | System.out.println("La matriz NO es una matriz simétrica"); 30 | 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/LecturaDatosConsola.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | 4 | /** 5 | * @file LecturaDatosConsola.java 6 | * @version 1.1 7 | * @author Víctor Cuervo (http://lineadecodigo.com) 8 | * @date 7/octubre/2007 9 | * @url http://lineadecodigo.com/java/lectura-de-datos-por-consola-en-java/ 10 | * @description Utilización de un buffer para leer datos del usuario por consola. 11 | */ 12 | 13 | import java.io.BufferedReader; 14 | import java.io.IOException; 15 | import java.io.InputStreamReader; 16 | 17 | public class LecturaDatosConsola { 18 | 19 | public static void main(String[] args) { 20 | 21 | BufferedReader br = null; 22 | String sTexto = ""; 23 | 24 | br = new BufferedReader(new InputStreamReader(System.in)); 25 | 26 | try { 27 | do { 28 | sTexto = br.readLine(); 29 | System.out.println(sTexto); 30 | } while(!sTexto.equals("FIN")); 31 | } catch (IOException io){ 32 | io.printStackTrace(); 33 | } 34 | 35 | 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/swing/CentrarJFrame.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.swing; 2 | 3 | /** 4 | * @file CentrarJFrame.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 25/spetiembre/2010 8 | * @url http://lineadecodigo.com/java/centrar-un-jframe/ 9 | * @description Centrar un JFrame en la pantalla. 10 | */ 11 | 12 | import java.awt.Dimension; 13 | import java.awt.Toolkit; 14 | 15 | import javax.swing.JFrame; 16 | 17 | public class CentrarJFrame extends JFrame { 18 | 19 | private static final long serialVersionUID = 1L; 20 | 21 | public CentrarJFrame(){ 22 | 23 | super("Centrar JFrame"); 24 | 25 | Dimension pantalla = Toolkit.getDefaultToolkit().getScreenSize(); 26 | int height = pantalla.height; 27 | int width = pantalla.width; 28 | setSize(width/2, height/2); 29 | setLocationRelativeTo(null); 30 | setVisible(true); 31 | } 32 | 33 | 34 | public static void main(String[] args) { 35 | new CentrarJFrame(); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/twitter/EnviarTweet.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.twitter; 2 | 3 | /** 4 | * @file EnviarTweet.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 12/octubre/2019 8 | * @url http://lineadecodigo.com/java/enviar-tweet-con-java/ 9 | * @description Enviar tweet con Java mediante Twitter4j 10 | */ 11 | 12 | import twitter4j.*; 13 | 14 | public class EnviarTweet { 15 | 16 | public static void main(String[] args) { 17 | 18 | 19 | try { 20 | // Asume que hay un twitter4j.properties en la raíz del classpath 21 | Twitter twitter = new TwitterFactory().getInstance(); 22 | 23 | twitter.updateStatus("Mensaje enviado desde un ejemplo Java de Línea de Código http://lineadecodigo.com"); 24 | 25 | } catch (TwitterException te) { 26 | te.printStackTrace(); 27 | System.out.println("Error en la conexión: " + te.getMessage()); 28 | 29 | } 30 | 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/MayorDosNumeros.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file MayorDosNumeros.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 14/mayo/2011 8 | * @url http://lineadecodigo.com/java/mayor-de-dos-numeros/ 9 | * @description Saber cuál es el mayor de dos números 10 | */ 11 | 12 | import java.util.Scanner; 13 | 14 | public class MayorDosNumeros { 15 | 16 | public static void main(String[] args) { 17 | 18 | 19 | Scanner reader = new Scanner(System.in); 20 | int iNumero1, iNumero2; 21 | 22 | System.out.println("Dame el primer número"); 23 | iNumero1 = reader.nextInt(); 24 | 25 | System.out.println("Dame el segundo número"); 26 | iNumero2 = reader.nextInt(); 27 | 28 | if (iNumero1>iNumero2) 29 | System.out.println(iNumero1 + " es mayor que " + iNumero2); 30 | else 31 | System.out.println(iNumero2 + " es mayor que " + iNumero1); 32 | 33 | reader.close(); 34 | 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/arrays/ArrayTamanioDinamico.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.arrays; 2 | 3 | /** 4 | * @file ArrayTamanioDinamico.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 8/febrero/2020 8 | * @url http://lineadecodigo.com/java/arrays-dinamicos-en-java/ 9 | * @description Dar un tamaño al Array atendiendo al dato que nos de el usuario por consola. 10 | */ 11 | 12 | import java.util.Scanner; 13 | 14 | public class ArrayTamanioDinamico { 15 | 16 | public static void main(String[] args) { 17 | 18 | System.out.println("Dime el tamaño del Array"); 19 | Scanner reader = new Scanner(System.in); 20 | int x= reader.nextInt(); 21 | int[] elementos = new int[x]; 22 | 23 | 24 | try { 25 | elementos[4] = 12; 26 | System.out.println(elementos[4]); 27 | } catch (ArrayIndexOutOfBoundsException e) { 28 | System.out.println("Array creado muy pequeño"); 29 | } finally { 30 | reader.close(); 31 | } 32 | 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/NumeroImpar.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file NumeroImpar.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 10/diciembre/2006 8 | * @url http://lineadecodigo.com/java/numeros-impares-en-java/ 9 | * @description Código que nos ayuda a saber si un número es impar con Java 10 | */ 11 | 12 | public class NumeroImpar { 13 | 14 | public static boolean esImpar(int iNumero) { 15 | if (iNumero%2!=0) 16 | return true; 17 | else 18 | return false; 19 | } 20 | 21 | public static void main(String[] args) { 22 | 23 | for (int x=1;x<=100;x++) { 24 | if (esImpar(x)) 25 | System.out.println(x); 26 | } 27 | 28 | int contador = 0; 29 | int incremento = 1; 30 | 31 | while (contador !=100) { 32 | 33 | if (esImpar(incremento)) { 34 | System.out.println(incremento); 35 | contador++; 36 | } 37 | 38 | incremento++; 39 | 40 | } 41 | 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/arrays/BuscarNumeroEnArray.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.arrays; 2 | 3 | /** 4 | * @file BuscarNumeroEnArray.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 15/febrero/2020 8 | * @url http://lineadecodigo.com/java/buscar-un-numero-en-un-array/ 9 | * @description Buscar un número en un array 10 | */ 11 | 12 | import java.util.Arrays; 13 | 14 | public class BuscarNumeroEnArray { 15 | 16 | private static boolean searchNumber(int[] numbers, int numberToSearch) { 17 | return Arrays.asList(numbers) 18 | .contains(numberToSearch); 19 | } 20 | 21 | public static void main(String[] args) { 22 | 23 | int[] numeros = {1,2,3,4,5,6,7,8}; 24 | int numberToSearch = 3; 25 | 26 | if (searchNumber(numeros,numberToSearch)) 27 | System.out.println("El número " + numberToSearch + " está en la lista"); 28 | else 29 | System.out.println("El número " + numberToSearch + " NO está en la lista"); 30 | 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/string/AlinearAIzquierda.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.string; 2 | 3 | /** 4 | * @file AlinearAIzquuerda.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 1/noviembre/09 8 | * @url http://lineadecodigo.com/java/alinear-cadena-a-la-izquierda/ 9 | * @description Formatear una cadena para que quede alineada a la izquierda 10 | */ 11 | 12 | import java.util.Formatter; 13 | 14 | public class AlinearAIzquierda { 15 | 16 | 17 | public static void main(String[] args) { 18 | 19 | int number = 4752; 20 | 21 | // Con la clase Formatter 22 | Formatter fmt = null; 23 | 24 | try { 25 | fmt = new Formatter(); 26 | fmt.format("Contenido %-8d unidades", number); 27 | System.out.println(fmt.toString()); 28 | 29 | // Sin la clase Formatter 30 | String formateado = String.format("Contenido %-8d unidades", number); 31 | System.out.println(formateado); 32 | } finally{ 33 | fmt.close(); 34 | } 35 | 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/stream/CadenaComoStream.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.stream; 2 | 3 | /** 4 | * @file CadenaComoStream.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 13/marzo/2016 8 | * @url http://lineadecodigo.com/java/string-stream-java/ 9 | * @description Manipular una cadena como si fuese un Stream 10 | */ 11 | 12 | public class CadenaComoStream { 13 | 14 | public static void main(String[] args) { 15 | 16 | 17 | String sCadena = "Esto es una cadena de texto"; 18 | 19 | sCadena.chars() 20 | .forEach(c -> System.out.print(Character.toString((char) c))); 21 | 22 | System.out.println(); 23 | 24 | sCadena.chars() 25 | .parallel() 26 | .forEach(c -> System.out.print(Character.toString((char) c))); 27 | 28 | System.out.println(); 29 | 30 | sCadena.chars() 31 | .filter(c -> c!='a') 32 | .forEach(c -> System.out.print(Character.toString((char) c))); 33 | 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/hilos/CierreAplicacion.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.hilos; 2 | 3 | /** 4 | * @file CierreAplicacion.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 21/septiembre/2015 8 | * @url http://lineadecodigo.com/java/finalizar-un-programa-java/ 9 | * @description Controlar la finalización de un programa Java 10 | */ 11 | 12 | public class CierreAplicacion { 13 | 14 | public void attachShutDownHook(){ 15 | 16 | Runtime.getRuntime().addShutdownHook(new Thread() { 17 | 18 | @Override 19 | public void run() { 20 | System.out.println("Esto lo ejecutamos cuando acabe el programa"); 21 | } 22 | }); 23 | 24 | System.out.println("Creado el hook en el programa"); 25 | 26 | } 27 | 28 | 29 | public static void main(String[] args) { 30 | 31 | CierreAplicacion app = new CierreAplicacion(); 32 | app.attachShutDownHook(); 33 | System.out.println("Última instrucción del programa"); 34 | System.exit(0); 35 | 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/io/CrearUnFichero.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.io; 2 | 3 | /** 4 | * @file CrearUnFichero.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 16/julio/2007 8 | * @url http://lineadecodigo.com/2007/07/21/crear-un-fichero-en-java/ 9 | * @description Pasos para crear un fichero con la librería Java IO y la clase File 10 | */ 11 | 12 | import java.io.*; 13 | 14 | public class CrearUnFichero { 15 | 16 | public static void main(String[] args) { 17 | // Creamos el objeto que encapsula el fichero 18 | File fichero = new File("c:\\temp\\miFichero.txt"); 19 | 20 | try { 21 | // A partir del objeto File creamos el fichero físicamente 22 | if (fichero.createNewFile()) 23 | System.out.println("El fichero se ha creado correctamente"); 24 | else 25 | System.out.println("No ha podido ser creado el fichero"); 26 | } catch (IOException ioe) { 27 | ioe.printStackTrace(); 28 | } 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/string/ContadorDePalabras.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.string; 2 | 3 | /** 4 | * @file ContadorDePalabras.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 19/agosto/2007 8 | * @url http://lineadecodigo.com/java/contador-de-ocurrencias-en-java/ 9 | * @description Contar cuantas veces se repite palabra dentro de una cadena. 10 | */ 11 | 12 | 13 | public class ContadorDePalabras { 14 | 15 | 16 | public static void main(String[] args) { 17 | 18 | // Texto 19 | String sTexto = "palabra o palabra y palabra"; 20 | // Texto que vamos a buscar 21 | String sTextoBuscado = "palabra"; 22 | // Contador de ocurrencias 23 | int contador = 0; 24 | 25 | while (sTexto.indexOf(sTextoBuscado) > -1) { 26 | sTexto = sTexto.substring(sTexto.indexOf( 27 | sTextoBuscado)+sTextoBuscado.length(),sTexto.length()); 28 | contador++; 29 | } 30 | 31 | System.out.println (contador); 32 | 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/OrdenarVectorAlfabeticamente2.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections; 2 | 3 | import java.util.Collections; 4 | import java.util.Vector; 5 | 6 | /** 7 | * @file OrdenarVectorAlfabeticamente2.java 8 | * @version 1.0 9 | * @author Víctor Cuervo (http://lineadecodigo.com) 10 | * @date 3/enero/2010 11 | * @url http://lineadecodigo.com/java/ordenando-alfabeticamente-con-case_insensitive_order/ 12 | * @description Utilizar una ordenación alfabética mediante el campo String.CASE_INSENSITIVE_ORDER 13 | */ 14 | 15 | public class OrdenarVectorAlfabeticamente2 { 16 | 17 | 18 | public static void main(String[] args) { 19 | 20 | 21 | Vector miVector = new Vector(); 22 | miVector.add("Victor"); 23 | miVector.add("julio"); 24 | miVector.add("amaya"); 25 | 26 | Collections.sort(miVector,String.CASE_INSENSITIVE_ORDER); 27 | 28 | for(String sElemento: miVector){ 29 | System.out.println(sElemento); 30 | } 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/NumerosPrimos.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file NumerosPrimos.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 01/enero/2009 8 | * @url http://lineadecodigo.com/java/numeros-primos-en-java/ 9 | * @description Listar los números primos. 10 | */ 11 | 12 | public class NumerosPrimos { 13 | 14 | public static boolean esPrimo(int numero){ 15 | int contador = 2; 16 | boolean primo=true; 17 | while ((primo) && (contador!=numero)){ 18 | if (numero % contador == 0) 19 | primo = false; 20 | contador++; 21 | } 22 | return primo; 23 | } 24 | 25 | public static void main(String[] args) { 26 | 27 | int iNumero = 11; 28 | if (esPrimo(iNumero)) 29 | System.out.println("Es numero primo"); 30 | else 31 | System.out.println("NO es numero primo"); 32 | 33 | 34 | for (int x=2;x<10000;x++) { 35 | if (esPrimo(x)) 36 | System.out.print(x + " "); 37 | } 38 | 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/AsegurarCapacidadArrayList.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections; 2 | 3 | import java.util.ArrayList; 4 | 5 | /** 6 | * @file AsegurarCapacidadArrayList.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 6/agosto/2021 10 | * @url http://lineadecodigo.com/java/asegurar-la-capacidad-de-un-arraylist/ 11 | * @description Asegura la capacidad de un ArrayList 12 | */ 13 | 14 | public class AsegurarCapacidadArrayList { 15 | 16 | public static void main(java.lang.String[] args) { 17 | 18 | ArrayList list = new ArrayList(); 19 | 20 | // Aseguramos la capacidad para 3 elementos 21 | list.ensureCapacity(3); 22 | 23 | System.out.println("El tamaño del ArrayList es " + list.size()); 24 | 25 | // Añadimos elementos 26 | list.add("Marta"); 27 | list.add("Luis"); 28 | list.add("Francisco"); 29 | 30 | System.out.println("El tamaño del ArrayList es " + list.size()); 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/arrays/BusquedaLineal.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.arrays; 2 | 3 | /** 4 | * @file BusquedaLineal.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 15/febrero/2020 8 | * @url http://lineadecodigo.com/java/pdte/ 9 | * @description Implementación de una búsqueda lineal con Java 10 | */ 11 | 12 | public class BusquedaLineal { 13 | 14 | private static boolean searchNumber(int[] numbers, int numberToSearch) { 15 | for (int number:numbers) { 16 | if (number==numberToSearch) { 17 | return true; 18 | } 19 | } 20 | return false; 21 | 22 | } 23 | 24 | public static void main(String[] args) { 25 | 26 | int[] numeros = {12,45,67,27,89,84,65,21,44}; 27 | int numberToSearch = 27; 28 | 29 | if (searchNumber(numeros,numberToSearch)) 30 | System.out.println("El número " + numberToSearch + " está en la lista"); 31 | else 32 | System.out.println("El número " + numberToSearch + " NO está en la lista"); 33 | 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/VaciarContenidoFichero.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | import java.io.BufferedWriter; 4 | import java.io.FileNotFoundException; 5 | import java.io.FileWriter; 6 | import java.io.IOException; 7 | 8 | /** 9 | * @file VaciarContenidoFichero.java 10 | * @version 1.0 11 | * @author Víctor Cuervo (http://lineadecodigo.com) 12 | * @date 31-julio-2010 13 | * @url http://lineadecodigo.com/java/vaciar-el-contenido-de-un-fichero-con-java/ 14 | * @description Vaciar el contenido de un fichero mediante la escritura de una cadena vacía. 15 | */ 16 | 17 | public class VaciarContenidoFichero { 18 | 19 | public static void main(String[] args) { 20 | 21 | String sFichero = "fichero1.txt"; 22 | 23 | try{ 24 | BufferedWriter bw = new BufferedWriter(new FileWriter(sFichero)); 25 | bw.write(""); 26 | bw.close(); 27 | } catch (FileNotFoundException fnfe){ 28 | fnfe.printStackTrace(); 29 | } catch (IOException ioe){ 30 | ioe.printStackTrace(); 31 | } 32 | } 33 | 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/RecorrerListaHaciaAtras.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections; 2 | 3 | /** 4 | * @file RecorrerListaHaciaAtras.java 5 | * @version 1.2 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 01/febrero/2009 8 | * @url http://lineadecodigo.com/java/recorrer-una-lista-hacia-atras-en-java/ 9 | * @description Recorrer una lista desde el último elemento hacía el primero 10 | */ 11 | 12 | import java.util.*; 13 | 14 | public class RecorrerListaHaciaAtras { 15 | 16 | 17 | public static void main(String[] args) { 18 | 19 | // Definimos una ArrayList 20 | List list = new ArrayList(); 21 | 22 | // Añadimos elementos 23 | list.add("Victor"); 24 | list.add("Amaya"); 25 | list.add("Julio"); 26 | 27 | // Obtenemos un Iterador y recorremos la lista. 28 | ListIterator iter = list.listIterator(list.size()); 29 | while (iter.hasPrevious()) 30 | System.out.println(iter.previous()); 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/awt/MiFrame2.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.awt; 2 | 3 | /** 4 | * @file MiFrame2.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 24/junio/2007 8 | * @url http://lineadecodigo.com/2007/07/01/crear-un-frame-con-awt/ 9 | * @description Clase que extiende de Frame convirtiendose en un frame. Esta clase se autoinstancia. 10 | */ 11 | 12 | import java.awt.Frame; 13 | 14 | public class MiFrame2 extends Frame { 15 | 16 | private static final long serialVersionUID = 1L; 17 | 18 | public static void main(String[] args) { 19 | MiFrame2 miFrame = new MiFrame2("Mi primer frame2"); 20 | } 21 | 22 | public MiFrame2() { 23 | super(); 24 | initialize(); 25 | } 26 | 27 | private void initialize() { 28 | this.setSize(300, 200); 29 | this.setTitle("Frame"); 30 | } 31 | 32 | public MiFrame2(String title) { 33 | super(title); 34 | int iAncho = 300; 35 | int iAlto = 300; 36 | this.setSize(iAncho, iAlto); 37 | this.setVisible(true); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/DiasDelMes.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file DiasDelMes.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 03/septiembre/2015 8 | * @url http://lineadecodigo.com/java/dias-del-mes-en-java/ 9 | * @description Ejemplo de agrupaciones de sentencias case para poder calcular los días del mes con Java. 10 | */ 11 | 12 | public class DiasDelMes { 13 | 14 | public static void main(String[] args) { 15 | 16 | 17 | int iMes = 3; 18 | String sDias; 19 | 20 | switch (iMes) { 21 | case 1: case 3: case 5: case 7: case 8: case 10: case 12: 22 | sDias = "El mes tiene 31 días"; 23 | break; 24 | case 4: case 6: case 9: case 11: 25 | sDias = "El mes tiene 30 días"; 26 | break; 27 | case 2: 28 | 29 | sDias = "El mes tiene 28 días (o 29 días si es año bisiesto)"; 30 | break; 31 | default: 32 | sDias = "Mes incorrecto"; 33 | } 34 | 35 | System.out.println(sDias); 36 | 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/FactorialDeUnNumeroTexto.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file FactorialDeUnNumerotexto.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 9/octubre/2021 8 | * @url http://lineadecodigo.com/java/factorial-de-un-numero-en-texto/ 9 | * @description Calcular un factorial y poner el resultado como cadena 10 | */ 11 | 12 | public class FactorialDeUnNumeroTexto { 13 | 14 | 15 | public static void main(String[] args) { 16 | 17 | // Numero del que queremos calcular el factorial 18 | int iNumero = 5; 19 | 20 | // Variable con el valor del factorial 21 | int iFactorial = 1; 22 | 23 | // Cadena con la salida 24 | String sCadena = Integer.toString(iNumero) + "! = 1"; 25 | 26 | for (int x=2;x<=iNumero;x++) { 27 | iFactorial = iFactorial * x; 28 | sCadena = sCadena + " x " + Integer.toString(x); 29 | } 30 | 31 | System.out.println(sCadena + " = " + Integer.toString(iFactorial)); 32 | 33 | 34 | 35 | 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/UnaInstancia.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file UnaInstancia.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 22/febrero/2012 8 | * @url http://lineadecodigo.com/java/evitar-que-un-programa-java-se-cargue-dos-veces/ 9 | * @description Controlar que nuestro programa Java se ejecute una única vez. 10 | */ 11 | 12 | import java.io.IOException; 13 | import java.net.ServerSocket; 14 | 15 | public class UnaInstancia { 16 | 17 | private static ServerSocket SERVER_SOCKET; 18 | 19 | public static void main(String[] args) { 20 | try { 21 | SERVER_SOCKET = new ServerSocket(1334); 22 | System.out.println("Es la primera instancia de la aplicación..."); 23 | System.out.println("Pulsa OK para terminar"); 24 | System.in.read(); 25 | } catch (IOException x) { 26 | System.out.println("Otra instancia de la aplicación se está ejecutando..."); 27 | } 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/arrays/BusquedaConStreams.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.arrays; 2 | 3 | import java.util.stream.IntStream; 4 | 5 | /** 6 | * @file BusquedaLineal.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 15/febrero/2020 10 | * @url http://lineadecodigo.com/java/busqueda-en-un-array-con-streams/ 11 | * @description Realizar una búsqueda mediante Streams de Java 8 12 | */ 13 | 14 | public class BusquedaConStreams { 15 | 16 | private static boolean searchNumber(int[] numbers, int numberToSearch) { 17 | return IntStream.of(numbers).anyMatch(x -> x == numberToSearch); 18 | } 19 | 20 | public static void main(String[] args) { 21 | 22 | int[] numeros = {12,45,67,27,89,84,65,21,44}; 23 | int numberToSearch = 27; 24 | 25 | if (searchNumber(numeros,numberToSearch)) 26 | System.out.println("El número " + numberToSearch + " está en la lista"); 27 | else 28 | System.out.println("El número " + numberToSearch + " NO está en la lista"); 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/math/AreaTrianguloEscaleno.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.math; 2 | 3 | /** 4 | * @file AreaTrianguloEscaleno.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 12/septiembre/2020 8 | * @url http://lineadecodigo.com/java/area-de-un-triangulo-escaleno-con-los-lados/ 9 | * @description Uso de la formula de Heron para el cálculo del área de un triángulo escaleno 10 | */ 11 | 12 | 13 | public class AreaTrianguloEscaleno { 14 | 15 | public static void main(String[] args) { 16 | 17 | // Longitud de los lados 18 | double lado1 = 3; 19 | double lado2 = 2; 20 | double lado3 = 4; 21 | 22 | double semiperimetro = (lado1+lado2+lado3)/2; 23 | System.out.println("El semiperímetro es de " + semiperimetro); 24 | 25 | double area = Math.sqrt(semiperimetro*(semiperimetro-lado1)*(semiperimetro-lado2)*(semiperimetro-lado3)); 26 | 27 | System.out.println ("El área del triángulo escaleno es " + area); 28 | 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/string/CadenaMayusMinuscAlternativos.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.string; 2 | 3 | /** 4 | * @file CadenaMayusMinuscAlternativos.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 12/marzo/2016 8 | * @url http://lineadecodigo.com/java/palabra-mayusculas-minusculas/ 9 | * @description Convierte los caracteres de una cadena a mayúsculas y minúsculas alternativamente 10 | */ 11 | 12 | public class CadenaMayusMinuscAlternativos { 13 | 14 | public static void main(String[] args) { 15 | 16 | StringBuilder sCadena = new StringBuilder("Esto es una frase muy interesante"); 17 | String caracter; 18 | System.out.println(sCadena); 19 | 20 | for (int x=0;x mivector = new Vector(); 21 | 22 | mivector.add("Elemento Uno"); 23 | mivector.add("Elemento Dos"); 24 | mivector.add("Elemento Tres"); 25 | 26 | mivector.add(0,"nuevo elemento"); 27 | 28 | Iterator iter = mivector.iterator(); 29 | while (iter.hasNext()) 30 | System.out.println(iter.next()); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/lista/CrearArrayList.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections.lista; 2 | 3 | /** 4 | * @file CrearArrayList.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 28/septiembre/2014 8 | * @url http://lineadecodigo.com/java/crear-un-arraylist-en-java/ 9 | * @description Diferentes formas de crear un ArrayList en Java. 10 | */ 11 | 12 | import java.util.ArrayList; 13 | import java.util.Vector; 14 | 15 | public class CrearArrayList { 16 | 17 | public static void main(String[] args) { 18 | 19 | 20 | // ArrayList sin tamaño 21 | ArrayList al = new ArrayList(); 22 | 23 | // ArrayList con tamaño 24 | ArrayList al2 = new ArrayList(3); 25 | 26 | // ArrayList desde otra colección 27 | 28 | Vector vector = new Vector(); 29 | vector.add("Irene"); 30 | vector.add("María"); 31 | 32 | // ArrayList con tamaño 33 | ArrayList al3 = new ArrayList(vector); 34 | 35 | 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/EsUnDirectorio.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | import java.io.File; 4 | 5 | /** 6 | * @file EsUnDirectorio.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 31-enero-2009 10 | * @url http://lineadecodigo.com/2009/02/01/saber-si-una-ruta-es-un-directorio-con-java/ 11 | * @description Saber si una ruta introducida por teclado es un directorio 12 | */ 13 | 14 | 15 | public class EsUnDirectorio { 16 | 17 | public static void main(String[] args) { 18 | 19 | String sRuta1 = "c:\\prueba"; 20 | String sRuta2 = "c:\\prueba.txt"; 21 | 22 | File fRuta1 = new File(sRuta1); 23 | File fRuta2 = new File(sRuta2); 24 | 25 | if (fRuta1.isDirectory()) 26 | System.out.println(sRuta1 + " es un directorio"); 27 | else 28 | System.out.println(sRuta1 + " NO es un directorio"); 29 | 30 | if (fRuta2.isDirectory()) 31 | System.out.println(sRuta2 + " es un directorio"); 32 | else 33 | System.out.println(sRuta2 + " NO es un directorio"); 34 | 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/swing/BotonConTooltip.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.swing; 2 | 3 | /** 4 | * @file CerrarVenatana.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 27/agosto/2010 8 | * @url http://lineadecodigo.com/java/anadir-un-tooltip-a-un-jbutton/ 9 | * @description Código que nos permite añadir un tooltip a un botón 10 | */ 11 | 12 | import java.awt.FlowLayout; 13 | import javax.swing.JButton; 14 | import javax.swing.JFrame; 15 | 16 | public class BotonConTooltip extends JFrame { 17 | 18 | private static final long serialVersionUID = 1L; 19 | 20 | public BotonConTooltip(){ 21 | super("Botón con Tooltip"); 22 | 23 | getContentPane().setLayout(new FlowLayout()); 24 | 25 | JButton boton = new JButton("Pasa sobre este botón"); 26 | boton.setToolTipText("Tooltip del botón"); 27 | getContentPane().add(boton); 28 | 29 | setSize(400,300); 30 | setVisible(true); 31 | } 32 | 33 | 34 | public static void main(String[] args) { 35 | new BotonConTooltip(); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/lista/TamanioLista.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections.lista; 2 | 3 | /** 4 | * @file TamanioLista.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 10/noviembre/2014 8 | * @url http://lineadecodigo.com/java/numero-de-elementos-en-un-arraylist/ 9 | * @description Conocer el número de elementos de un ArrayList 10 | */ 11 | 12 | import java.util.ArrayList; 13 | 14 | public class TamanioLista { 15 | 16 | 17 | public static void main(String[] args) { 18 | 19 | // ArrayList con tamaño 20 | ArrayList al = new ArrayList(); 21 | 22 | // Añadir elementos a un ArrayList 23 | al.add("Victor"); 24 | al.add("Luis"); 25 | al.add("Elena"); 26 | 27 | // Obtener el tamaño de un ArrayList 28 | 29 | int tamanio = al.size(); 30 | System.out.println("El número de elementos es de "+tamanio); 31 | 32 | // Recorrer un ArrayList 33 | for(int x=0;x pila = new Stack(); 28 | 29 | while (frase.hasMoreTokens()) { 30 | pila.push(frase.nextToken()); 31 | } 32 | 33 | while (!pila.empty()) 34 | System.out.print(pila.pop() + " "); 35 | 36 | 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/lista/IteradorLista.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections.lista; 2 | 3 | /** 4 | * @file IteradorLista.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 9/noviembre/2014 8 | * @url http://lineadecodigo.com/java/recorrer-una-lista-con-listiterator/ 9 | * @description Utilizar un ListIterator para recorrer una lista en ambas direcciones 10 | */ 11 | 12 | import java.util.ArrayList; 13 | import java.util.ListIterator; 14 | 15 | public class IteradorLista { 16 | 17 | public static void main(String[] args) { 18 | 19 | ArrayList al = new ArrayList(); 20 | 21 | // Añadir elementos a un ArrayList 22 | al.add("Victor"); 23 | al.add("Luis"); 24 | al.add("Elena"); 25 | 26 | 27 | // Recorrer un ArrayList con un Iterador 28 | ListIterator it = al.listIterator(); 29 | while(it.hasNext()) 30 | System.out.println(it.next()); 31 | 32 | while(it.hasPrevious()) 33 | System.out.println(it.previous()); 34 | 35 | 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/awt/CerrarUnFrame.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.awt; 2 | 3 | /** 4 | * @file CerrarUnFrame.java 5 | * @version 1.3 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 16/diciembre/2007 8 | * @url http://lineadecodigo.com/java/cerrar-un-frame-en-awt/ 9 | * @description Crear un frame de AWT desde una aplicación Java y controlar el evento windowClosing 10 | * para cerrar el frame. 11 | */ 12 | 13 | import java.awt.Frame; 14 | import java.awt.event.*; 15 | 16 | public class CerrarUnFrame { 17 | 18 | public static void main(String[] args) { 19 | 20 | Frame miFrame = new Frame("Mi primer frame"); 21 | 22 | // Modificamos el tamaño del frame... 23 | int iAncho = 300; 24 | int iAlto = 300; 25 | miFrame.setSize(iAncho, iAlto); 26 | 27 | // ...y lo mostramos el frame 28 | miFrame.setVisible(true); 29 | 30 | miFrame.addWindowListener(new WindowAdapter(){ 31 | public void windowClosing(WindowEvent we){ 32 | System.exit(0); 33 | } 34 | }); 35 | 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/LeerFicheroTexto.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | /** 4 | * @file LeerFichero.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 29-abril-2006 8 | * @url http://lineadecodigo.com/2006/12/26/leer-fichero-de-texto-con-java/ 9 | * @descriptio Lectura del contenido de un fichero de texto 10 | */ 11 | 12 | import java.io.BufferedReader; 13 | import java.io.FileNotFoundException; 14 | import java.io.FileReader; 15 | import java.io.IOException; 16 | 17 | public class LeerFicheroTexto { 18 | 19 | public static void main(String[] args) { 20 | 21 | try { 22 | 23 | FileReader fr = new FileReader("fichero.txt"); 24 | BufferedReader bf = new BufferedReader(fr); 25 | String sCadena; 26 | while ((sCadena = bf.readLine())!=null) { 27 | System.out.println(sCadena); 28 | } 29 | 30 | bf.close(); 31 | 32 | 33 | } catch (FileNotFoundException fnfe){ 34 | fnfe.printStackTrace(); 35 | } catch (IOException ioe){ 36 | ioe.printStackTrace(); 37 | } 38 | 39 | 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/mail/AutentificarSMTP.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.mail; 2 | 3 | /** 4 | * @file AutentificarSMTP.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 26/marzo/2011 8 | * @url http://lineadecodigo.com/java/autentificandose-con-smtp/ 9 | * @description Clase que autentifica contra un servidor SMTP 10 | */ 11 | 12 | import java.util.*; 13 | import javax.mail.*; 14 | 15 | public class AutentificarSMTP { 16 | 17 | 18 | public static void main(java.lang.String[] args) { 19 | 20 | try { 21 | 22 | // Configuramos las propiedades 23 | Properties props = new Properties(); 24 | props.put("mail.transport.protocol","smtp"); 25 | props.put("mail.smtp.host","mail.lineadecodigo.com"); 26 | 27 | // Creo la sesión y un nuevo mensaje de correo 28 | Autentificacion pwd = new Autentificacion(); 29 | Session mailSession = Session.getInstance(props,pwd); 30 | 31 | System.out.println(mailSession.toString()); 32 | 33 | } catch (Exception e) { 34 | e.printStackTrace(); 35 | } 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/DividirNumeros.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | import java.util.Scanner; 4 | 5 | /** 6 | * @file DividirNumeros.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 10/junio/2010 10 | * @url http://lineadecodigo.com/java/dividir-dos-numeros-con-java/ 11 | * @description Dividir dos números insertados por teclado 12 | */ 13 | 14 | public class DividirNumeros { 15 | 16 | public static void main(String[] args) { 17 | 18 | float numero1 = 0; 19 | float numero2 = 0; 20 | float resultado; 21 | 22 | Scanner reader = new Scanner(System.in); 23 | 24 | System.out.println("Introduce el primer número:"); 25 | numero1 = reader.nextFloat(); 26 | 27 | System.out.println("Introduce el segundo número:"); 28 | numero2 = reader.nextFloat(); 29 | 30 | // Dividimos 31 | resultado = numero1/numero2; 32 | 33 | System.out.println("La división es " + numero1 + " / " + numero2 + " = " + resultado); 34 | 35 | // Cerramos el stream de lectura 36 | reader.close(); 37 | 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/variables/ValoresMaxMin.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.variables; 2 | 3 | /** 4 | * @file VariablesTransitorias.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 31/enero/2015 8 | * @url http://lineadecodigo.com/java/valores-maximo-y-minimo-de-los-tipos-primitivos-java/ 9 | * @description Mostrar valores máximo y mínimo de los tipos de datos primitivos en Java 10 | */ 11 | 12 | public class ValoresMaxMin { 13 | 14 | public static void main(String[] args) { 15 | 16 | System.out.println("Tipo\tMínimo\tMáximo"); 17 | System.out.println("byte\t" + Byte.MIN_VALUE + "\t" + Byte.MAX_VALUE); 18 | System.out.println("short\t" + Short.MIN_VALUE + "\t" + Short.MAX_VALUE); 19 | System.out.println("int\t" + Integer.MIN_VALUE + "\t" + Integer.MAX_VALUE); 20 | System.out.println("long\t" + Long.MIN_VALUE + "\t" + Long.MAX_VALUE); 21 | System.out.println("float\t" + Float.MIN_VALUE + "\t" + Float.MAX_VALUE); 22 | System.out.println("double\t" + Double.MIN_VALUE + "\t" + Double.MAX_VALUE); 23 | 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/ListarFicherosOcultos.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | import java.io.File; 4 | 5 | /** 6 | * @file ListarFicherosOcultos.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 4/mayo/2012 10 | * @url http://lineadecodigo.com/java/listar-ficheros-ocultos-de-un-directorio-con-java/ 11 | * @description Clase que lista los ficheros ocultos de un directorio 12 | */ 13 | 14 | public class ListarFicherosOcultos { 15 | 16 | public static void main(String[] args) { 17 | 18 | String sDirectorio = "d:\\test"; 19 | File f = new File(sDirectorio); 20 | 21 | System.out.println("Listando ficheros ocultos de " + sDirectorio); 22 | System.out.println("-----------------------------"); 23 | 24 | if (f.exists()){ 25 | File[] ficheros = f.listFiles(); 26 | for (int x=0;x list = new ArrayList(); 27 | 28 | // Añadimos elementos 29 | list.add("Andrea"); 30 | list.add("Amaya"); 31 | list.add("Julio"); 32 | 33 | // Obtenemos un Iterador y recorremos la lista. 34 | Iterator iter = list.iterator(); 35 | while (iter.hasNext()) 36 | System.out.println(iter.next()); 37 | 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/twitter/InformacionTweet.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.twitter; 2 | 3 | /** 4 | * @file InformacionTweet.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 12/octubre/2019 8 | * @url http://lineadecodigo.com/java/informacion-de-un-tweet-con-java/ 9 | * @description Dar información de un Tweet en concreto 10 | */ 11 | 12 | import twitter4j.*; 13 | 14 | public class InformacionTweet { 15 | 16 | public static void main(String[] args) { 17 | 18 | try { 19 | // Asume que hay un twitter4j.properties en la raíz del classpath 20 | Twitter twitter = new TwitterFactory().getInstance(); 21 | 22 | long statusid = 1182894932480184322L; 23 | Status status = twitter.showStatus(statusid); 24 | System.out.println("@" + status.getUser().getScreenName() + ", dice: " + status.getText()); 25 | 26 | } catch (TwitterException te) { 27 | te.printStackTrace(); 28 | System.out.println("Error en la conexión: " + te.getMessage()); 29 | 30 | } 31 | 32 | 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/NumeroSumasRecursivas.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file NumeroSumasRecursivas.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 18/febrero/2016 8 | * @url http://lineadecodigo.com/java/numero-en-sumas-de-unidades-recursivo/ 9 | * @description Sacar las sumas de un número mediante recursividad 10 | */ 11 | 12 | public class NumeroSumasRecursivas { 13 | 14 | public static void suma(int numero, int operador) { 15 | 16 | int resta = numero-operador; 17 | 18 | if (resta>=operador) { 19 | System.out.println(numero + " = " + resta + " + " + operador); 20 | suma(numero,++operador); 21 | } 22 | 23 | } 24 | 25 | public static void main(String[] args) { 26 | 27 | // Con un bucle 28 | int numero = 12; 29 | int unidad = 0; 30 | int resta = numero; 31 | 32 | while (resta>unidad) { 33 | resta = numero-unidad; 34 | System.out.println (numero + " = " + resta + " + " + unidad); 35 | unidad++; 36 | } 37 | 38 | 39 | // Recursivo 40 | suma(12,0); 41 | 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/arrays/BusquedaBinaria.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.arrays; 2 | 3 | import java.util.Arrays; 4 | 5 | /** 6 | * @file BusquedaBinaria.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 15/febrero/2020 10 | * @url http://lineadecodigo.com/java/busqueda-binaria-con-java/ 11 | * @description Buscar un número en mediante una búsqueda binaria de .binarySearch() 12 | */ 13 | 14 | public class BusquedaBinaria { 15 | 16 | public static void main(String[] args) { 17 | 18 | int[] numeros = {12,45,67,27,89,84,65,21,44}; 19 | int numberToSearch = 44; 20 | 21 | Arrays.sort(numeros); 22 | 23 | /* Si está en el array la respuesta es la posición del número en un array ordenado 24 | * si no devuelve el número de elementos que ha tenido que recorrer hasta buscarlo 25 | */ 26 | 27 | if (Arrays.binarySearch(numeros, numberToSearch)>0) 28 | System.out.println("El número " + numberToSearch + " está en el Array"); 29 | else 30 | System.out.println("El número " + numberToSearch + " NO está en el Array"); 31 | 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/encoding/EscribirFicheroISO1.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file.encoding; 2 | 3 | /** 4 | * @file EscribirFicheroISO1.java 5 | * @version 1.0 6 | * @author Linea de Codigo (http://lineadecodigo.com) 7 | * @date 19/septiembre/2011 8 | * @url http://lineadecodigo.com/java/escribir-un-fichero-iso-latin-1/ 9 | * @description Programa que escribe un fichero con encoding ISO 8859-1, Latin Alphabet No. 1 10 | */ 11 | 12 | import java.io.BufferedWriter; 13 | import java.io.FileOutputStream; 14 | import java.io.IOException; 15 | import java.io.OutputStreamWriter; 16 | import java.io.UnsupportedEncodingException; 17 | 18 | public class EscribirFicheroISO1 { 19 | 20 | public static void main(String[] args) { 21 | 22 | try { 23 | BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("FicheroSalidaISO1.txt"), "8859_1")); 24 | out.write("Esto es un fichero ISO Latin 1"); 25 | out.close(); 26 | } catch (UnsupportedEncodingException e) { 27 | e.printStackTrace(); 28 | } catch (IOException e) { 29 | e.printStackTrace(); 30 | } 31 | 32 | 33 | } 34 | 35 | } -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/arrays/RotarArray.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.arrays; 2 | 3 | /** 4 | * @file RotarArray.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 20/septiembre/2010 8 | * @url http://lineadecodigo.com/java/rotar-array/ 9 | * @description Código que nos permite rotar los elementos de un array. 10 | */ 11 | 12 | public class RotarArray { 13 | 14 | public static void main(String[] args) { 15 | 16 | int[] numeros = {1,2,3,4,5}; 17 | 18 | for (int x=0;x hm = new HashMap(); 20 | 21 | hm.put("1","Luis"); 22 | hm.put("2","Amaya"); 23 | hm.put("3","Julio"); 24 | 25 | // Añadimos un elemento con clave existente. Se sobrescribe su valor 26 | // ya que no puede haber valores duplicados 27 | hm.put("1","Victor"); 28 | 29 | Iterator> it = hm.entrySet().iterator(); 30 | 31 | while (it.hasNext()) { 32 | Entry e = it.next(); 33 | System.out.println(e.getKey() + " " + e.getValue()); 34 | } 35 | } 36 | 37 | } 38 | 39 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/InvertirLista.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections; 2 | 3 | /** 4 | * @file InvertirLista.java 5 | * @version 1.0 6 | * @author Víctor Cuervo. (http://lineadecodigo.com) 7 | * @date 03/junio/2015 8 | * @url http://lineadecodigo.com/java/invertir-una-lista/ 9 | * @description Código que nos ayuda a invertir el contenido de una lista mediante la clase Collection. 10 | */ 11 | 12 | import java.util.ArrayList; 13 | import java.util.Collections; 14 | import java.util.Iterator; 15 | import java.util.List; 16 | 17 | public class InvertirLista { 18 | 19 | public InvertirLista() { 20 | super(); 21 | } 22 | 23 | public static void main(java.lang.String[] args) { 24 | 25 | List list = new ArrayList(); 26 | 27 | for (int i = 1; i <= 10; i++) 28 | list.add(i); 29 | 30 | // Damos la vuelta a la lista 31 | Collections.reverse(list); 32 | 33 | // Mostramos el contenido de la lista 34 | Iterator iter = list.iterator(); 35 | while (iter.hasNext()) 36 | System.out.println(iter.next()); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/collections/BuscarElementoArrayList.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.collections; 2 | 3 | import java.util.ArrayList; 4 | 5 | /** 6 | * @file BuscarElementoArrayList.java 7 | * @version 1.0 8 | * @author Víctor Cuervo (http://lineadecodigo.com) 9 | * @date 6/agosto/2021 10 | * @url http://lineadecodigo.com/java/buscar-elementos-en-un-arraylist/ 11 | * @description Código que nos busca un elemento dentro de un ArrayList 12 | */ 13 | 14 | public class BuscarElementoArrayList{ 15 | 16 | public static void main(java.lang.String[] args) { 17 | 18 | ArrayList list = new ArrayList(); 19 | 20 | // Añadimos elementos 21 | list.add("Marta"); 22 | list.add("Luis"); 23 | list.add("Francisco"); 24 | 25 | String sElementoaBuscar = "Marta"; 26 | int posicion = list.indexOf(sElementoaBuscar); 27 | 28 | if (posicion >= 0) 29 | System.out.println("El elemento " + sElementoaBuscar + " está en la lista. En la posición " + posicion); 30 | else 31 | System.out.println("El elemento " + sElementoaBuscar + " NO está en la lista"); 32 | 33 | } 34 | 35 | 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/DivisiblePor.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file DivisiblePor.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 28/julio/09 8 | * @url http://lineadecodigo.com/java/numeros-divisibles-con-java/ 9 | * @description Como calcular si un número es divisible por otro. 10 | */ 11 | 12 | import java.util.Scanner; 13 | 14 | public class DivisiblePor { 15 | 16 | public static void main(String[] args) { 17 | 18 | // Pedimos los número por teclado 19 | Scanner reader = new Scanner(System.in); 20 | int numero1,numero2; 21 | 22 | System.out.println("Introduce un número"); 23 | numero1 = reader.nextInt(); 24 | 25 | System.out.println("Introduce el número por el cual quieres saber si es divisible"); 26 | numero2 = reader.nextInt(); 27 | 28 | //Conprobamos si uno es divisible por otro 29 | if (numero1%numero2 == 0) 30 | System.out.println(numero1 + " es divisible por " + numero2); 31 | else 32 | System.out.println(numero1 + " NO es divisible por " + numero2); 33 | 34 | reader.close(); 35 | 36 | 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/NumeroDeFilasStream.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | /** 4 | * @file NumeroDeFilasStream.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 03/septiembre/2015 8 | * @url http://lineadecodigo.com/java/numero-de-lineas-de-un-fichero-con-un-stream/ 9 | * @description Uso de la programación funcional y de un Stream para calcular el número de filas de un fichero. 10 | */ 11 | 12 | import java.io.BufferedReader; 13 | import java.io.FileNotFoundException; 14 | import java.io.FileReader; 15 | import java.io.IOException; 16 | 17 | public class NumeroDeFilasStream { 18 | 19 | public static void main(String[] args) { 20 | 21 | try { 22 | FileReader fr = new FileReader("resources/fichero.txt"); 23 | 24 | BufferedReader bf = new BufferedReader(fr); 25 | 26 | System.out.println("El fichero tiene " + bf.lines().count() + " lineas"); 27 | 28 | bf.close(); 29 | 30 | } catch (FileNotFoundException fnfe){ 31 | fnfe.printStackTrace(); 32 | } catch (IOException ioe){ 33 | ioe.printStackTrace(); 34 | } 35 | 36 | 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/variables/TipoDatoBoolean.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.variables; 2 | 3 | /** 4 | * @file TiposDatoObjeto.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 31/enero/2015 8 | * @url http://lineadecodigo.com/java/tipo-de-objeto-boolean/ 9 | * @description Operaciones para crear y modificar un objeto boolean 10 | */ 11 | 12 | public class TipoDatoBoolean { 13 | 14 | public static void main(String[] args) { 15 | 16 | Boolean b1 = new Boolean(true); 17 | Boolean b2 = new Boolean("true"); 18 | 19 | System.out.println(b1.booleanValue()); 20 | System.out.println(b2.booleanValue()); 21 | 22 | // No se pueden hacer comparaciones como con los tipos de datos primitivos 23 | if (b1==b2) 24 | System.out.println("Valores Iguales"); 25 | else 26 | System.out.println("Valores Diferentes"); 27 | 28 | // Hay que hacer comparaciones con el método .equals() 29 | if (b1.equals(b2)) 30 | System.out.println("Valores Iguales"); 31 | else 32 | System.out.println("Valores Diferentes"); 33 | 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/patrones/abstractfactory/PatronAbstractFactory.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.patrones.abstractfactory; 2 | 3 | 4 | /** 5 | * @file PatronAbstractFactory.java 6 | * @author Feffo Calendino (http://lineadecodigo.com/author/feffon/) 7 | * @date 29/enero/2013 8 | * @url http://lineadecodigo.com/patrones/patron-abstract-factory/ 9 | * @description Codigo correspondiente al ejemplo sobre el patrón de diseño AbstractFactory 10 | */ 11 | 12 | import com.lineadecodigo.java.patrones.*; 13 | 14 | 15 | public class PatronAbstractFactory { 16 | 17 | public static void main(String[] args) { 18 | FabricaDiscos fabrica; 19 | DVD dvd; 20 | BluRay bluray; 21 | 22 | fabrica = new FabricaDiscos_CapaSimple(); 23 | dvd = fabrica.crearDVD(); 24 | bluray = fabrica.crearBluRay(); 25 | 26 | System.out.println(dvd); 27 | System.out.println(bluray); 28 | 29 | fabrica = new FabricaDiscos_CapaDoble(); 30 | dvd = fabrica.crearDVD(); 31 | bluray = fabrica.crearBluRay(); 32 | 33 | System.out.println(dvd); 34 | System.out.println(bluray); 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/NumeroDeFilas.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file; 2 | 3 | /** 4 | * @file NumeroDeFilas.java 5 | * @version 1.0 6 | * @authorVíctor Cuervo (http://lineadecodigo.com) 7 | * @date 20/noviembre/2006 8 | * @url http://lineadecodigo.com/java/numero-de-lineas-de-un-fichero/ 9 | * @description Código que cuenta las filas de un fichero 10 | */ 11 | 12 | import java.io.BufferedReader; 13 | import java.io.FileNotFoundException; 14 | import java.io.FileReader; 15 | import java.io.IOException; 16 | 17 | public class NumeroDeFilas { 18 | 19 | public static void main(String[] args) { 20 | 21 | long lNumeroLineas = 0; 22 | 23 | try { 24 | FileReader fr = new FileReader("resources/fichero.txt"); 25 | 26 | BufferedReader bf = new BufferedReader(fr); 27 | 28 | while ((bf.readLine())!=null) { 29 | lNumeroLineas++; 30 | } 31 | 32 | bf.close(); 33 | 34 | } catch (FileNotFoundException fnfe){ 35 | fnfe.printStackTrace(); 36 | } catch (IOException ioe){ 37 | ioe.printStackTrace(); 38 | } 39 | 40 | System.out.println("El fichero tiene " + lNumeroLineas + " lineas"); 41 | 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/file/encoding/LeerFicheroUTF8.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.file.encoding; 2 | 3 | /** 4 | * @file LeerFicheroutf8.java 5 | * @version 1.0 6 | * @author Linea de Codigo (http://lineadecodigo.com) 7 | * @date 14/septiembre/2011 8 | * @url http://lineadecodigo.com/java/leer-un-fichero-utf-8/ 9 | * @description Programa que lee un fichero con encoding utf-8 10 | */ 11 | 12 | import java.io.BufferedReader; 13 | import java.io.FileInputStream; 14 | import java.io.IOException; 15 | import java.io.InputStreamReader; 16 | import java.io.UnsupportedEncodingException; 17 | 18 | public class LeerFicheroUTF8 { 19 | 20 | 21 | public static void main(String[] args) { 22 | 23 | 24 | try { 25 | BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("FicheroUTF8.txt"), "utf-8")); 26 | 27 | String sCadena; 28 | while ((sCadena = in.readLine())!=null) { 29 | System.out.println(sCadena); 30 | } 31 | 32 | 33 | } catch (UnsupportedEncodingException e) { 34 | e.printStackTrace(); 35 | } catch (IOException e) { 36 | e.printStackTrace(); 37 | } 38 | 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/swing/CerrarVentana.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.swing; 2 | 3 | /** 4 | * @file CerrarVenatana.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 4/junio/2010 8 | * @url http://lineadecodigo.com/java/cerrar-una-ventana-con-java-swing/ 9 | * @description Gestionar el cierre de una ventana en Java Swing 10 | */ 11 | 12 | import java.awt.event.WindowAdapter; 13 | import java.awt.event.WindowEvent; 14 | import javax.swing.JFrame; 15 | import javax.swing.JLabel; 16 | 17 | public class CerrarVentana extends JFrame { 18 | 19 | private static final long serialVersionUID = 1L; 20 | 21 | public CerrarVentana(){ 22 | super("Hola Mundo"); 23 | 24 | JLabel label = new JLabel("Hola Mundo"); 25 | getContentPane().add(label); 26 | 27 | addWindowListener(new WindowAdapter() { 28 | public void windowClosing(WindowEvent e) { 29 | System.out.println("adios"); 30 | System.exit(0); 31 | } 32 | }); 33 | 34 | 35 | 36 | setSize(200,100); 37 | setVisible(true); 38 | } 39 | 40 | 41 | public static void main(String[] args) { 42 | new CerrarVentana(); 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/util/stream/MayusculasMinusculasStream.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.util.stream; 2 | 3 | /** 4 | * @file MayusculasMinusculasStream.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 13/marzo/2016 8 | * @url http://lineadecodigo.com/java/caracteres-mayusculas-minusculas-stream/ 9 | * @description Código que convierte los caracteres de una cadena a mayúsculas y minúsuclas de forma secuencial utilizando un Stream 10 | */ 11 | 12 | import java.util.stream.Collectors; 13 | import java.util.stream.IntStream; 14 | 15 | public class MayusculasMinusculasStream { 16 | 17 | public static void main(String[] args) { 18 | 19 | String[] s = "Esto es una frase muy interesante".split(""); 20 | String cadena = IntStream.range(0, s.length) 21 | .mapToObj(i -> i%2!=0 ? s[i].toUpperCase():s[i].toLowerCase()) 22 | .collect(Collectors.joining()); 23 | 24 | System.out.println(cadena); 25 | 26 | IntStream.range(0, s.length) 27 | .mapToObj(i -> i%2!=0 ? s[i].toUpperCase():s[i].toLowerCase()) 28 | .forEach(System.out::print); 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/FactorialDeUnNumero.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico; 2 | 3 | /** 4 | * @file FactorialDeUnNumero.java 5 | * @version 1.0 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 27/marzo/2011 8 | * @url http://lineadecodigo.com/java/factorial-de-un-numero/ 9 | * @description Calculo de un factorial 10 | */ 11 | 12 | public class FactorialDeUnNumero { 13 | 14 | public static int factorial(int x){ 15 | 16 | // Factorial recursivo 17 | if (x==1) 18 | return 1; 19 | else 20 | return x * factorial(x-1); 21 | } 22 | 23 | public static void main(String[] args) { 24 | 25 | // Numero del que queremos sacar el factorial 26 | int iNumero = 4; 27 | 28 | int iFactorial = 1; 29 | int iContador = iNumero; 30 | 31 | while (iContador != 0) { 32 | iFactorial = iFactorial * iContador; 33 | iContador--; 34 | } 35 | 36 | System.out.println("El factorial del número " + Integer.toString(iNumero) + " es " + Integer.toString(iFactorial)); ; 37 | System.out.println("El factorial del número " + Integer.toString(iNumero) + " es " + Integer.toString(factorial(iNumero))); 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/com/lineadecodigo/java/basico/arrays/CopiarDosArraysEnUno.java: -------------------------------------------------------------------------------- 1 | package com.lineadecodigo.java.basico.arrays; 2 | 3 | /** 4 | * @file CopiarDosArraysEnUno.java 5 | * @version 1.1 6 | * @author Víctor Cuervo (http://lineadecodigo.com) 7 | * @date 6/octubre/2007 8 | * @url http://lineadecodigo.com/java/copiar-dos-arrays-en-uno-con-java 9 | * @description Uso del método .arrayCopy para copiar dos arrays sobre uno. 10 | */ 11 | 12 | public class CopiarDosArraysEnUno { 13 | 14 | 15 | public static void main(String[] args) { 16 | 17 | int a1[] = {1,2,3,4,5}; 18 | int a2[] = {6,7,8,9,10}; 19 | int a[] = new int[a1.length+a2.length]; 20 | 21 | System.arraycopy(a1, 0, a, 0, a1.length); 22 | 23 | // Listamos el array y vemos que los últimos 5 elementos están a 0 24 | System.out.println("Array tras la primera copia"); 25 | listarArray(a); 26 | 27 | System.arraycopy(a2, 0, a, a1.length, a2.length); 28 | 29 | System.out.println("Array tras la segunda copia"); 30 | listarArray(a); 31 | } 32 | 33 | public static void listarArray (int[] a){ 34 | for (int x=0;x lista = new ArrayList(); 25 | 26 | // Convertimos el array en una lista 27 | // mediante la clase estática Arrays 28 | lista = Arrays.asList(cadenas); 29 | 30 | // Obtenemos un iterador y recorremos la lista 31 | Iterator iter = lista.iterator(); 32 | 33 | while (iter.hasNext()) 34 | System.out.println(iter.next()); 35 | 36 | } 37 | } 38 | --------------------------------------------------------------------------------