0% found this document useful (0 votes)
74 views38 pages

Resumen Java

The document discusses various methods for limiting the number of decimals in a real number in Java. It provides examples of rounding a number to 1, 2, or 3 decimal places using Math.round(), DecimalFormat, String.format(), System.out.printf(), and BigDecimal. The examples demonstrate how to round Math.PI to specified levels of precision for output.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views38 pages

Resumen Java

The document discusses various methods for limiting the number of decimals in a real number in Java. It provides examples of rounding a number to 1, 2, or 3 decimal places using Math.round(), DecimalFormat, String.format(), System.out.printf(), and BigDecimal. The examples demonstrate how to round Math.PI to specified levels of precision for output.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
You are on page 1/ 38

JAVA

INDEX
·0 MENU
·1 LIMITAR CANTIDAD DE DECIMALES DE UN REAL
·2 CAST
·3 OPERADORES ARITMETICOS
·4 OPERADORES UNARIOS
·5 STRING (MANEJO DE CADENAS)
·6 TRY...CATCH
·7 ESTRUCTURA REPETITIVA FOR
·8 ESTRUCTURA CONDICIONAL SIMPLE-DOBLE-ANIDADA
·9 ESTRUCTURA SECUENCIAL
·10 NUMEROS ALEATORIOS
·11 MATH
·12 VECTOR (ARRAY UNIDEIMENSIONAL)
·13 EXPRESION REGULAR
·14 COMBINACION DE ESTRUCTURAS BASICAS
·15 CONSOLE
·16 VALIDAR ENTRADA POR TECLADO
·17 ENTRADA POR TECLADO DE UNA CADENA
·18 ENTRADA POR TECLADO DE UN CARACTER CON ECO
·19 ENTRADA POR TECLADO DE UN CARACTER SIN ECO
·20 INTERFACE
·21 CLASE ABSTRACTA

MENU
EJEMPLO 0001

(A)
(B)
IMPRIMIR CARACTER UNICODE
(1) Ejemplo de codigo unicode para caracteres conocidos.

\u00e1 -> á
\u00e9 -> é
\u00ed -> í
\u00f3 -> ó
\u00fa -> ú
\u00c1 -> Á
\u00c9 -> É
\u00cd -> Í
\u00d3 -> Ó
\u00da -> Ú
\u00f1 -> ñ
\u00d1 -> Ñ

(2) Mostrar en pantalla un caracter unicode.

public class Ejemplo {


public static void main(String arg[]) {
System.out.println("Hola pap\u00e1!\nYa puedo escribir bien esta ma\u00f1ana.");
}
}

LIMITAR CANTIDAD DE DECIMALES DE UN REAL


(1) Redondear un número real con 1 cifra decimal.

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
double dNumero2Decimal = Math.round(d*10)/(double)10;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("2 Decimal = " + dNumero2Decimal); // 3.1
}
}

(2) Redondear un número real con 2 cifras decimales.

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
double dNumero2Decimal = Math.round(d*100)/(double)100;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("2 Decimal = " + dNumero2Decimal); // 3.14
}
}

(3) Redondear un número real con 3 cifras decimales.

(A)

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
double dNumero2Decimal = Math.round(d*1000)/(double)1000;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("2 Decimal = " + dNumero2Decimal); // 3.142
}
}

(B)

import java.text.DecimalFormat;

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
DecimalFormat df = new DecimalFormat("#.000");
String s = df.format(d); //3,142
String sER = ",";
String s1 = s.replaceAll(sER, ".");
double dNumero2Decimal = Double.parseDouble(s1);
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("3 Decimal = " + dNumero2Decimal); // 3.142
}
}

(C)

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
String s = String.format("%.3f", d);//3,142
String sER = ",";
String s1 = s.replaceAll(sER, ".");
double dNumero2Decimal = Double.parseDouble(s1);
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("3 Decimal = " + dNumero2Decimal); // 3.142
}
}

(D)

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.printf("3 Decimal = %.3f", d); 3,142
}
}

(E)

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
BigDecimal bd = new BigDecimal(d);
bd = bd.setScale(3, RoundingMode.HALF_UP);
double dNumero2Decimal = bd.doubleValue(); //3.142
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("3 Decimal = " + dNumero2Decimal); // 3.142
}
}

(4) Usando Math.round()

(A) Redondear un número real con 1 cifra decimal.

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
double dNumero2Decimal = Math.round(d*10)/(double)10;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("2 Decimal = " + dNumero2Decimal); // 3.1
}
}

(B) Redondear un número real con 2 cifras decimales.

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
double dNumero2Decimal = Math.round(d*100)/(double)100;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("2 Decimal = " + dNumero2Decimal); // 3.14
}
}

(C) Redondear un número real con 3 cifras decimales.

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
double dNumero2Decimal = Math.round(d*1000)/(double)1000;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("2 Decimal = " + dNumero2Decimal); // 3.142
}
}

(5) Usando DecimalFormat

import java.text.DecimalFormat;

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
DecimalFormat df = new DecimalFormat("#.000");
String s = df.format(d); //3,142
String sER = ",";
String s1 = s.replaceAll(sER, ".");
double dNumero2Decimal = Double.parseDouble(s1);
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("3 Decimal = " + dNumero2Decimal); // 3.142
}
}

(6) Usando String.format()

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
String s = String.format("%.3f", d);//3,142
String sER = ",";
String s1 = s.replaceAll(sER, ".");
double dNumero2Decimal = Double.parseDouble(s1);
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("3 Decimal = " + dNumero2Decimal); // 3.142
}
}

(7) Usando System.out.printf()

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.printf("3 Decimal = %.3f", d); 3,142
}
}

(8) Usando BigDecimal

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
BigDecimal bd = new BigDecimal(d);
bd = bd.setScale(3, RoundingMode.HALF_UP);
double dNumero2Decimal = bd.doubleValue(); //3.142
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("3 Decimal = " + dNumero2Decimal); // 3.142
}
}

(9)

(A) Redondear un número real con 1 cifra decimal.

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
double dNumero2Decimal = Math.round(d*10)/(double)10;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("2 Decimal = " + dNumero2Decimal); // 3.1
}
}

(B) Redondear un número real con 2 cifras decimales.

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
double dNumero2Decimal = Math.round(d*100)/(double)100;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("2 Decimal = " + dNumero2Decimal); // 3.14
}
}

(C) Redondear un número real con 3 cifras decimales.

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
double dNumero2Decimal = Math.round(d*1000)/(double)1000;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("2 Decimal = " + dNumero2Decimal); // 3.142
}
}

(D)

import java.text.DecimalFormat;
public class Ejemplo {
public static void main(String[] args) {
double d = Math.PI;
DecimalFormat df = new DecimalFormat("#.000");
String s = df.format(d); //3,142
String sER = ",";
String s1 = s.replaceAll(sER, ".");
double dNumero2Decimal = Double.parseDouble(s1);
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("3 Decimal = " + dNumero2Decimal); // 3.142
}
}

(E)

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
String s = String.format("%.3f", d);//3,142
String sER = ",";
String s1 = s.replaceAll(sER, ".");
double dNumero2Decimal = Double.parseDouble(s1);
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("3 Decimal = " + dNumero2Decimal); // 3.142
}
}

(F)

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.printf("3 Decimal = %.3f", d); 3,142
}
}

(G)

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
BigDecimal bd = new BigDecimal(d);
bd = bd.setScale(3, RoundingMode.HALF_UP);
double dNumero2Decimal = bd.doubleValue(); //3.142
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("3 Decimal = " + dNumero2Decimal); // 3.142
}
}

(10) Usando Math.round()

(A) Redondear un número real con 1 cifra decimal.

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
double dNumero2Decimal = Math.round(d*10)/(double)10;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("2 Decimal = " + dNumero2Decimal); // 3.1
}
}

(B) Redondear un número real con 2 cifras decimales.


public class Ejemplo {
public static void main(String[] args) {
double d = Math.PI;
double dNumero2Decimal = Math.round(d*100)/(double)100;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("2 Decimal = " + dNumero2Decimal); // 3.14
}
}

(C) Redondear un número real con 3 cifras decimales.

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
double dNumero2Decimal = Math.round(d*1000)/(double)1000;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("2 Decimal = " + dNumero2Decimal); // 3.142
}
}

(11) Usando DecimalFormat

import java.text.DecimalFormat;

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
DecimalFormat df = new DecimalFormat("#.000");
String s = df.format(d); //3,142
String sER = ",";
String s1 = s.replaceAll(sER, ".");
double dNumero2Decimal = Double.parseDouble(s1);
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("3 Decimal = " + dNumero2Decimal); // 3.142
}
}

(12) Usando String.format()

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
String s = String.format("%.3f", d);//3,142
String sER = ",";
String s1 = s.replaceAll(sER, ".");
double dNumero2Decimal = Double.parseDouble(s1);
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("3 Decimal = " + dNumero2Decimal); // 3.142
}
}

(13) Usando System.out.printf()

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.printf("3 Decimal = %.3f", d); 3,142
}
}

(14) Usando BigDecimal

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Ejemplo {


public static void main(String[] args) {
double d = Math.PI;
BigDecimal bd = new BigDecimal(d);
bd = bd.setScale(3, RoundingMode.HALF_UP);
double dNumero2Decimal = bd.doubleValue(); //3.142
System.out.println("Orignal = " + d); // 3.141592653589793
System.out.println("3 Decimal = " + dNumero2Decimal); // 3.142
}
}

CAST
(1) Redondear un numero real con varias cifras decimales a su parte entera.

public class Ejemplo {


public static void main(String[] args) {
double dN = 3.5245;
int iN = (int)(dN + 0.5);
System.out.println(iN); //4
}
}

(2) Obtener el codigo ascii en decimal de un caracter alfanumérico.

public class Ejemplo {


public static void main(String[] args) {
char cL = 'A';
int iN = (int)cL;
System.out.println(iN); //65
}
}

(3) Obtener el caracter alfanumérico a partir de su codigo ascii.

public class Ejemplo {


public static void main(String[] args) {
int iN = 65;
char cL = (char)iN;
System.out.println(cL); //65
}
}

(4) Convertir una división entera en real.

public class Ejemplo {


public static void main(String[] args) {
int iNumerador = 5;
int iDenominador = 3;
double dCociente = (double)iNumerador/iDenominador;
System.out.println(dCociente); //1.6666666666666667
}
}

(5) Convertir una división real en entera.

public class Ejemplo {


public static void main(String[] args) {
double dNumerador = 5;
double dDenominador = 3;
int iCociente = (int)dNumerador/(int)dDenominador;
System.out.println(iCociente); //1
}
}

OPERADORES ARITMETICOS
(1) Operadores aritméticos básicos.

+ Suma
- Resta
* Multiplicación
/ Divsión Real, División Entera
% Resto Real, Resto Entero

(2) Muchos ejemplos.

(A) Invertir un numero entero de dos cifras.

public class Ejemplo {


public static void main(String[] args) {
int iN = 45;
int iC = iN / 10;
int iR = iN % 10;
int iM = iR * 10 + iC;
System.out.println(iM); //54
}
}

(B) Convertir grados centrigrados a fahrenheit.

public class Ejemplo {


public static void main(String[] args) {
int iF = 80;
double dC = (iF - 32)*(double)5/9;
System.out.println(dC); //26.666666666666668
}
}

(C) Obtener el número de apretones de manos dado por n personas.

public class Ejemplo {


public static void main(String[] args) {
int iN = 3;
int iA = iN * (iN -1) / 2;
System.out.println(iA); //3
}
}

(D) Evaluar el operador resto real, resto entero.

public class Ejemplo {


public static void main(String[] args) {
System.out.println(2.54%1.3); //1.24
System.out.println(0.54%0.3); //0.24000000000000005
System.out.println(2.54%10); //2.54
System.out.println(5%3); //2
System.out.println(3%5); //3
}
}

(E) Evaluar el operador división real, división entera.

public class Ejemplo {


public static void main(String[] args) {
System.out.println(3/5); //0
System.out.println(5/3); //1
System.out.println((double)5/3); //1.6666666666666667
}
}

OPERADORES UNARIOS
(1) Operadores unarios básicos.

i++ Evaluar i, Incremento i


++i Incremento i, Evaluar i
i-- Evaluar i, Decremento i
--i Decrementoi, Evaluar i

(2) Muchos ejemplos.

(A) Evaluar los operadores unario.

public class Ejemplo {


public static void main(String[] args) {
int i = 3;
System.out.println(i); // 3 Evalua i=3 (Primero)
System.out.println(++i); // 4 Incrementa i=4, Evalua i=4 (Segundo)
System.out.println(i++); // 4 Evalua i=4, Incrementa i=5 (Primero)
System.out.println(i); // 5 Evalua i=5 (Primero)
}
}

(B) Evaluar los operadores unario.

public class Ejemplo {


public static void main(String[] args) {
int i = 10;
int iN1 = i++%5; // Evaluar i=10, Incrementar i=11 (Primero)
i = 10;
int iN2 = ++i%5; // Incremento i=11, Evaluar i=11 (Segundo)
System.out.println(iN1); //0
System.out.println(iN2); //1
}
}

STRING (MANEJO DE CADENAS)


(1) Recorrer una cadena.

public class Ejemplo {


public static void main(String[] args) {
String s = "Hola Java";
int iN = s.length();
char c;
for(int i = 0; i < iN; i++) {
c = s.charAt(i);
System.out.println(c);
}
}
}

(2) Invertir una cadena.

public class Ejemplo {


public static void main(String[] args) {
String s = "Walter Ismael Sagastegui Lescano";
String s1 = "";
int iN = s.length();
char c;
for(int i=iN-1; i>=0; i--) {
c = s.charAt(i);
s1 = s1 + c;
}
System.out.println("Cadena original = " + s);
System.out.println("Cadena invertida = " + s1);
}
}

public class Ejemplo {


public static void main(String[] args) {
String s = "Walter Ismael Sagastegui Lescano";
String s1;
int iN = s.length();
StringBuffer sb = new StringBuffer(iN);
char c;
for(int i=iN-1; i>=0; i--) {
c = s.charAt(i);
sb.append(c);
}
s1 = sb.toString();
System.out.println("Cadena original = " + s);
System.out.println("Cadena invertida = " + s1);
}
}

(3) Buscar un dígito, que posición ocupa dentro de un número entero de muchos dígitos.

public class Ejemplo {


public static void main(String[] args) {
int iN = 293178973;
String s = String.valueOf(iN);
int iL = s.length();
int iUsuario = 3;
int iDigito;
for(int i=0; i<iL; i++) {
iDigito = Integer.parseInt(String.valueOf(s.charAt(i)));
if(iUsuario == iDigito) {
System.out.println("Posicion = " + (i+1));
}
}
}
}

(4) Obtener el número de cifras de un número entero positivo.

public class Ejemplo {


public static void main(String[] args) {
int iN = 1234567;
String s = String.valueOf(iN);
int iL = s.length();
System.out.println(iL);
}
}

(5) Generar una copia de una cadena.

public class Ejemplo {


public static void main(String[] args) {
String s = "Hola Java";
int iN = s.length();
String s1 = "";
for(int i = 0; i < iN; i++)
s1 = s1 + s.charAt(i);
System.out.print(s1);
}
}

public class Ejemplo {


public static void main(String[] args) {
String s = "Hola Java";
int iN = s.length();
StringBuffer sb = new StringBuffer(iN);
char c;
for(int i = 0; i < iN; i++) {
c = s.charAt(i);
sb.append(c);
}
System.out.print(sb.toString());
}
}

(6) Convertir una cadena a mayusculas.


public class Ejemplo {
public static void main(String[] args) {
String s1 = "Hola Java";
String s2 = s1.toUpperCase();
System.out.print(s2);
}
}

(7) Convertir una cadena a minusculas.

public class Ejemplo {


public static void main(String[] args) {
String s1 = "Hola Java";
String s2 = s1.toLowerCase();
System.out.print(s2);
}
}

(8) Remplazar en una cadenas todas las letras 'a' por 'x'.

public class Ejemplo {


public static void main(String[] args) {
String s1 = "Hola Java";
String s2 = s1.replace('a','x');
System.out.print(s2);
}
}

(9) Cambiar todas las vocales de una cadena por la letra 'x'.

public class Ejemplo {


public static void main(String[] args) {
String s1 = "Hola Java";
char[] c = s1.toCharArray();
String s2 = "\0";
for(int i = 0; i < c.length; i++)
if(c[i] == 'a' || c[i] == 'e' || c[i] == 'i' || c[i] == 'o' || c[i] == 'u') c[i] = 'x';
s2 = String.valueOf(c);
System.out.println("Cadena : " + s2);
}
}

(10) Concatenar 2 cadenas.

public class Ejemplo {


public static void main(String[] args) {
String sN = "Walter Ismael ";
String sA = "Sagastegui Lescano";
String s = sN.concat(sA);
System.out.println("Nombres y apellidos concatenados : " + s);
}
}

(11) Quitar los espacios en blanco añadidos al inicio y final de una cadena.

public class Ejemplo {


public static void main(String[] args) {
String s1 = " 12 ";
String s2 = s1.trim();
System.out.println("Contenido : "+s1); //Contenido : ###12### (# = espacio en
blanco)
System.out.println("Contenido : "+s2); //Contenido : 12
}
}

(12) Contar e imprimir el número de palabras contenidas en una oración.

public class Ejemplo {


public static void main(String[] args) {
String s = "Walter Ismael Sagastegui Lescano ";
String s1 = "";
int iN = s.length();
int iP = 0;
char c = '\0';
byte blanco, letra; blanco = letra = 0;
for(int i=0; i<iN; i++) {
c = s.charAt(i);
if(c == ' ' ) {
blanco = 1;
letra = 0;
}else {
blanco = 0;
letra = 1;
}
if(blanco == 0 && letra == 1) {
s1 = s1 + c;
if(i == (iN-1)) {
iP++;
System.out.println(s1);
blanco = letra = 0;
s1 = "";
break;
}
}
if(blanco == 1 && letra == 0) {
if(s1.length() == 0) continue;
else {
iP++;
System.out.println(s1);
blanco = letra = 0;
s1 = "";
}
}
}
System.out.println("Cantidad de palabras = " + iP);
}
}

(13) Obtener las palabras de la siguiente oración separados por un espacio en blanco "Walter
Ismale Sagastegui Lescano".

public class Ejemplo {


public static void main(String[] args) {
String s = "Walter Ismael Sagastegui Lescano";
String[] as = s.split(" ");
for(int i=0; i<as.length; i++) {
System.out.println(as[i]);
}
}
}

(14) Obtener la cadena "emanuel" de la siguiente oración "es españa emanuel especie".

public class Ejemplo {


public static void main(String[] args) {
String s1 = "es españa emanuel especie";
int i = s1.indexOf("ema");
String s2 = s1.substring(i,i+7);
System.out.println(s2);
}
}

(15) Obtener la cadena "Guatemala" de la siguiente oración "Un pais maravilloso es Guatemala mas
que cualquier otro".

public class Ejemplo {


public static void main(String[] args) {
String s1 = "Un pais maravilloso es Guatemala mas que cualquier otro";
int i = s1.indexOf("G");
String s2 = s1.substring(i,i+9);
System.out.println(s2);
}
}

TRY...CATCH
try {

...

}catch (Exception e) { e.printStackTrace(); } //Describe de porque se produce el error

ESTRUCTURA REPETITIVA FOR


(1)

public class Ejemplo {


public static void main(String[] args) {
int n = 6;
for(int i=0; i<n; i++)
System.out.println(i+1);
}
}

(2)

public class Ejemplo {


public static void main(String[] args) {
int n = 6;
for(int i=n; i>0; i--)
System.out.println(i);
}
}

(3)

public class Ejemplo {


public static void main(String[] args) {
int n = 5, c = 0;
for(;;) {
System.out.println(n);
c++;
if(c == 5) break;
}
}
}

(4)

public class Ejemplo {


public static void main(String[] args) {
int n = 10, c;
for(int i=0; i<n; i++) {
c = i + 1;
if(c == 5)
continue;
else
System.out.println(c);
}
}
}

ESTRUCTURA CONDICIONAL SIMPLE-DOBLE-ANIDADA


(1)

public class Ejemplo {


public static void main(String[] args) {
float sueldo = 5000.75f;
if(sueldo > 3000)
System.out.println("Esta persona debe abonar impuestos");
}
}

(2)

public class Ejemplo {


public static void main(String[] args) {
String cadena = "exit";
if(cadena.equals("exit")) {
System.out.println("Programa termina");
System.exit(0);
}
System.out.println("Programa continua");
}
}

(3)

public class Ejemplo {


public static void main(String[] args) {
float a = 2.1f, b, x;
if(a == 0)
System.out.println("No es una ecuación de primer grado");
else {
b = 2.1f;
x = -b/a;
System.out.println("La ra\u00edz es = " + x);
}
}
}

(4)

public class Ejemplo {


public static void main(String[] args) {
int x1 = 5, x2 = 6, x3 = 4;
int mayor = x1;
if(x2 > mayor) mayor = x2;
if(x3 > mayor) mayor = x3;
System.out.println("Mayor = " + mayor);
}
}

(5)

public class Ejemplo {


public static void main(String[] args) {
float c;
int d = 7;
if(d <= 3)
c = 0.5f;
else
c = 0.5f + (d - 3) * 0.1f;
System.out.println("El costo de la llamada ser\u00e1 = " + c);
}
}

(6)

public class Ejemplo {


public static void main(String[] args) {
//int a = 1, b = -5, c = 6; //(x-2)(x-3) = x2-5x+6
int a = 1, b = -4, c = 4; //(x-2)^2 = (x-2)(x-2) = x2-4x+4
//int a = 1, b = -2, c = 4; // x2-2x+4
double d, x1, x2;
if(a == 0)
System.out.println("No es una ecuaci\u00f3n de segundo grado");
else {
d = b*b - 4*a*c;
if(d >= 0) {
if(d == 0) {
x1 = (-b + Math.sqrt(d))/(2*a);
System.out.println("Ra\u00edz real x1 y x2 = " + x1);
}else {
x1 = (-b + Math.sqrt(d))/(2*a);
x2 = (-b - Math.sqrt(d))/(2*a);
System.out.println("Ra\u00edz real x1 = " + x1);
System.out.println("Ra\u00edz real x2 = " + x2);
}
}else
System.out.println("No tiene soluci\u00f3n real");
}
}
}

(7)

public class Ejemplo {


public static void main(String[] args) {
//int a = 5, b = 7;
//int a = 7, b = 5;
int a = 5, b = 5;
if(a == b)
System.out.println(a + " Es igual que " + b);
else{
if(a < b)
System.out.println(a + " Es menor que " + b);
else
System.out.println(a + " Es mayor que " + b);
}
}
}

(8)

public class Ejemplo {


public static void main(String[] args) {
//int q =15, r = 3, s = 5;
int q =15, r = 4, s = 5;
if((q%r) == 0 && (q%s) == 0)
System.out.println(q + " es multiplo de " + r + " y " + s + "
simultaneamente");
else
System.out.println(q + " no es multiplo de " + r + " y " + s + "
simultaneamente");
}
}

(9)

public class Ejemplo {


public static void main(String[] args) {
//int x = 5;
//int x = 3;
int x = 2;
double y;
if(x == 5 || x == -5)
System.out.println("Lo siento la funci\u00f3n es discontinua en el punto " +
x);
else{
y = (double)(x-3)/(x*x-25);
System.out.println("y = " + y);
}
}
}

(10)

public class Ejemplo {


public static void main(String[] args) {
//int a = 3, b = 5, c = 7;
int a = 1, b = 2, c = 3;
if(a<b+c && b<a+c && c<a+b)
System.out.println("Estas 3 longitudes forman un triangulo");
else
System.out.println("Estas 3 longitudes no forman un triangulo");
}
}

ESTRUCTURA SECUENCIAL
(1)

public class Ejemplo {


public static void main(String[] args) {
int a,b,x;
a = 5;
b = 6;
x = a;
a = b;
b = x;
System.out.println("Valor en a = " + a); //6
System.out.println("Valor en b = " + b); //5
}
}

(2)

public class Ejemplo {


public static void main(String[] args) {
int n,x;
n = 5;
x = n*(n-1)/2;//Combinacion de n tomados de 2 en 2
System.out.println("Apretones de manos = " + x);
}
}

(3)

public class Ejemplo {


public static void main(String[] args) {
float x,y;
double alpha,radio;
x = 5.5f;
y = 2.3f;
radio = Math.sqrt(Math.pow(x,2)+Math.pow(y,2));
alpha = Math.atan(y/x);
System.out.println("Angulo = " + alpha);
System.out.println("Radio = " + radio);
}
}

(4)

public class Ejemplo {


public static void main(String[] args) {
float x;
int y;
x = 3.5678f;
y = (int)(x + 0.5);
System.out.println("N\u00famero redondeado a su parte entera = " + y);
}
}

(5)

public class Ejemplo {


public static void main(String[] args) {
int n,r,c,m;
n = 45;
r = n % 10;
c = n / 10;
m = r * 10 + c;
System.out.println("N\u00famero invertido = " + m);
}
}

(6)

public class Ejemplo {


public static void main(String[] args) {
int sexagesimal;
double radianes;
sexagesimal = 30;
radianes = Math.PI * sexagesimal / 180;
System.out.println("Angulo en radianes = " + radianes);
}
}

(7)

import java.io.*;

public class Ejemplo {


public static void main(String[] args) {
Console c = System.console();
char caracter;
if (c == null) {
System.out.println("No hay consola");
System.exit(0);
}
System.out.print("Introduzca un caracter y presione enter? ");
caracter = String.valueOf(c.readPassword()).charAt(0);
System.out.println("Caracter es: " + caracter);
}
}

(8)

public class Ejemplo {


public static void main(String[] args) {
float x = 3.5678f, y;
y = Math.round(x * 100) / (float)100; //Math.round() devuelve un long
System.out.println("N\u00famero redondeado a 2 decimales = " + y);
}
}

(9)

public class Ejemplo {


public static void main(String[] args) {
float base = 5.5f, altura = 3.1f, area;
area = base * altura / 2;
System.out.println("Area del triangulo = " + area);
}
}

(10)
public class Ejemplo {
public static void main(String[] args) {
final float MILLA_METRO = 1609.344f; //Equivalencia 1 milla = 1609.344 metros
final float PIE_METRO = 0.3048f;
final float PULGADA_METRO = 0.0254f;
float millas = 5, pies = 6, pulgadas = 7, metros;
metros = millas * MILLA_METRO + pies * PIE_METRO + pulgadas * PULGADA_METRO;
System.out.println("Longitud = " + metros + "metros");
}
}

NUMEROS ALEATORIOS
(1) Generar un número aleatorio entero en el rango [1-6], igual a un dado.

public class Ejemplo {


public static void main(String[] args) {
int iDado = (int)(Math.random()*6+1);
System.out.println("Dado = " + iDado);
}
}

(2) Llenar un array de tamaño 50 con números aleatorios en el rango [0,8000]

public class Ejemplo {


public static void main(String arg[]) {
int[] a = new int[50];
for(int i=0; i<a.length; i++) {
a[i] = (int)(Math.random()*8000);
}
for(int i=0; i<a.length; i++) {
System.out.println("(" + (i+1) +")"+a[i]);
}
}
}

MATH
(A) REDONDEAR

long n = Math.round(2.5); ---> 3


long n = Math.round(2.4); ---> 2

(B) RAIZ CUADRADA

double n = Math.sqrt(2); ---> 1.4142135623730951


double n = Math.sqrt(3); ---> 1.7320508075688772

(C) POTENCIA

double n = Math.pow(2,5)); ---> 32.0


double n = Math.pow(2,1.0/2)); ---> 1.4142135623730951
double n = Math.pow(2,0.5)); ---> 1.4142135623730951
double n = Math.pow(2,-1)); ---> 0.5

(D) CONSTANTE PI Y E

double n = Math.PI; ---> 3.141592653589793


double n = Math.E; ---> 2.718281828459045

(E) LOGARITMICA NEPERIANA (BASE E)

double n = Math.log(1.0); ---> 0.0 (E elevado a 0 es 1) (A cuanto hay que elevar E para obtener
1)
double n = Math.log(10.0); ---> 2.302585092994046 (E elevado a 2.302585092994046 es 10)
double n = Math.log(Math.E); ---> 1.0 (E elevado a 1 es E)
(F) EXPONENCIAL NEPERIANA (BASE E)

double n = Math.exp(1.0); ---> 2.7182818284590455 (E elevado a 1 es 2.7182818284590455)


double n = Math.exp(10.0); ---> 22026.465794806718 (E elevado a 10 es 22026.465794806718)
double n = Math.exp(0.0); ---> 1.0 (E elevado a 0 es 1)

VECTOR (ARRAY UNIDEIMENSIONAL)


(1) Mostrar los pares o impares de un array.

import java.util.Scanner;

public class Ejemplo {


public static void main(String arg[]) {
Scanner sc = new Scanner(System.in);
String s;
int[] a = new int[50];
for(int i=0; i<a.length; i++) {
a[i] = i;
}
do {
System.out.print("Ingrese Par o Impar? ");
s = sc.next();
}while(!(s.equalsIgnoreCase("Par") || s.equalsIgnoreCase("Impar")));
if(s.equals("Par")) {
System.out.println("PAR");
for(int i=0; i<a.length; i=i+2)
System.out.println(a[i]);
}else {
System.out.println("IMPAR");
for(int i=1; i<a.length; i=i+2)
System.out.println(a[i]);
}
}
}

(2) Obtener la letra del DNI.

import java.util.Scanner;
public class Ejemplo {
public static void main(String arg[]) {
Scanner sc = new Scanner(System.in);
char[] c =
{'T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E'};
String s;
String sER = "[0-9]{8,8}";
int iD, iR;

do {
System.out.print("Ingrese DNI? ");
s = sc.next();
}while(!s.matches(sER));
iD = Integer.parseInt(s);
iR = iD % 23;
System.out.println("Letra = " + c[iR]);
}
}

(3)

import java.util.Scanner;
public class Ejemplo {
public static void main(String arg[]) {
int[] a1 = {1,2,3};
//int[] a2 = {5,7,8,1,2,3,5,6}; //Si
//int[] a2 = {1,2,3,5,7,8,4,4}; //Si
int[] a2 = {5,7,8,1,2,2,5,6}; //No
//int[] a2 = {5,7,8,3,2,1,2,3}; //Si
boolean inicio, bandera;
int i = 0;
while(i < a2.length) {
inicio = false;
if(a2[i] == a1[0]) {
inicio = true;
}else {
i++;
}
if(inicio == true) {
bandera = true;
for(int j=0; j<a1.length; j++) {
if(a1[j] != a2[i]) bandera = false;
i++;
}
i--;
if(bandera == true) {
System.out.println("Si");
break;
}else {
i--;
System.out.println("No");
inicio = false;
}
}
}
}
}

public class Ejemplo {


public static void main(String arg[]) {
boolean inicio, bandera;
int k=0, iL1, iL2;
int[] a1 = {1,2,3};
//int[] a2 = {5,7,8,1,2,3,5,6}; //Si
//int[] a2 = {1,2,3,5,7,8,4,4}; //Si
//int[] a2 = {5,7,8,1,2,2,5,6}; //No
//int[] a2 = {5,7,8,3,2,1,2,3}; //Si
//int[] a2 = {2,3,4,5,6,7,8,9}; //No
//int[] a2 = {2,3,4}; //No
//int[] a2 = {1,2,3}; //Si
//int[] a2 = {}; //No
inicio = false;
for(int i=0; i<a2.length; i++) {
if(a2[i] == a1[0]) {
inicio = true;
k = i;
break;
}
}
iL1 = a1.length;
iL2 = (a2.length-1) - (k-1);
if(inicio == true && iL2 >= iL1) {
bandera = true;
for(int j=0; j<a1.length; j++) {
if(a1[j] != a2[k]) {
bandera = false;
break;
}
k++;
}
if(bandera == true)
System.out.println("Si");
else
System.out.println("No");
}else {
System.out.println("No");
}
}
}

EXPRESION REGULAR
(1) Probar las expresiones regulares.

import java.util.Scanner;

public class Ejemplo {


public static void main(String arg[]) {
Scanner sc = new Scanner(System.in);
String s;
String sER = "[0-9]";
do {
System.out.print("Ingrese cadena? ");
s = sc.next();
if(s.matches(sER)) System.out.println("YES");
else System.out.println("NO");
}while(true);
}
}

(2) Remplazar todo numero de cualquier cantidad de digitos presente en una oración por la cadena
"##".

public class Ejemplo {


public static void main(String[] args) {
String s1 = "Guatemala 19 de Marzo del 2013";
String sER = "[0-9]+";
String s2 = s1.replaceAll(sER, "##");
System.out.println(s2);
}
}

(3) Eliminar la cadena "Guatemala" de la oración "Guatemala 19 de Marzo del 2013".

public class Ejemplo {


public static void main(String[] args) {
String s1 = "Guatemala 19 de Marzo del 2013";
String sER = "Guatemala";
String s2 = s1.replaceAll(sER, "");
System.out.println(s2.trim());
}
}

(4) Cambiar la cadena "españa" por esta otra "España" en la siguente oración "En españa se aprecia
modernidad, pero españa tambien es segura".

public class Ejemplo {


public static void main(String[] args) {
String s1 = "En españa se aprecia modernidad, pero españa tambien es segura";
String sER = "españa";
String s2 = s1.replaceAll(sER, "España");
System.out.println(s2.trim());
}
}

(5)

PREDEFINED CHARACTER CLASSES

(1) . Any character (may or may not match line terminators)


(2) \d A digit: [0-9]
(3) \D A non-digit: [^0-9]
(4) \s A whitespace character: [ \t\n\x0B\f\r]
(5) \S A non-whitespace character: [^\s]
(6) \w A word character: [a-zA-Z_0-9]
(7) \W A non-word character: [^\w]

EJEMPLOS

(1) . ---> k, @, #, 0, 9, 1, a
(2) \\d = [0-9] ---> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
(3) \\D = [^0-9] ---> #, %, _, a, A, Z, z, ?, .
(4) \\s = [ \t\n\x0B\f\r] --->
(5) \\S = [^\s] ---> d, #, @, a
(6) \\w = [a-zA-Z_0-9] ---> a, A, 0, 1, _
(7) \\W = [^\w] ---> @, #, ?

(6)

CHARACTER CLASSES

[abc] a, b, or c (simple class)


[^abc] Any character except a, b, or c (negation)
[a-zA-Z] a through z or A through Z, inclusive (range)
[a-d[m-p]] a through d, or m through p: [a-dm-p] (union)
[a-z&&[def]] d, e, or f (intersection)
[a-z&&[^bc]] a through z, except for b and c: [ad-z] (subtraction)
[a-z&&[^m-p]] a through z, and not m through p: [a-lq-z](subtraction)

(7)

(A) Empieza con una letra mayuscula y continua con cualquier cosa.

[A-Z].*

Solo se que no se nada


Solo en 2017
S
Z

(B) Empieza con un número de uno o dos cifras.

\\d{1,2}

09
12
1
0

(C) Empieza con un número de 4 cifras exactamente.

\\d{4}

2017
2018
0000
1234

(D) Fecha

\\d{1,2}/(?i)(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/\\d{4}

11/dic/2014
1/nov/2014
1/AGO/2014
21/Oct/2014

(E) DNI

\\d{8}[A-HJ-NP-TV-Z]
DNI

01234567C
51019578N
45653743P
11111111A

(F) Numeros enteros de un sólo dígito.

[0-9]{1}

9
0
1

(G) Numeros enteros de un dígito ó dos dígitos.

[0-9]{1,2}

91
00
0

(8)

META CARACTERES

[abc] --- [a-c] ---> a, b, c


\\d --- [0-9] --- [0123456789] ---> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (Dígito)
\\D --- [^0-9] ---> a, b, c, x, ", $, /, | (No dígito)
\\s --- [ \t\n\x0b\r\f] ---> Espacios en blanco
\\S --- [^\s] ---> No espacio en blanco
\\w --- [a-zA-Z0-9_] ---> Una letra mayúscula o minúscula, un dígito o el caracter _
\\W --- [^\w] --->

(9)

CUANTIFICADORES

{X} ---> Indica que lo que va justo antes de las llaves se repite X veces
{X,Y} ---> Indica que lo que va justo antes de las llaves se repite mínimo X veces y máximo Y
veces. También podemos poner {X,} indicando que se repite un mínimo de X veces sin límite máximo.
* ---> Indica 0 ó más veces. Equivale a {0,}
+ ---> Indica 1 ó más veces. Equivale a {1,}
? ---> Indica 0 ó 1 veces. Equivale a {0,1}
. ---> Es un comodin que sustituye a un caracter (cualquier caracter)
\ ---> El carácter puesto a continuación será convertido en caracter especial o, si ya es
especial, deja de ser especial

(10)

EXPRESION

(A) Todas las cadenas que inicia con a ó b ó c y continua con 1 ó 2.

[abc][12] ---> a1, b2, c1, a2

(B) Todas las cadenas que contengan la secuencia "abc".

.*abc.* ---> fadfabcdfad, dfabcadfabckk

(C) Todas las cadenas que inicen con la secuencia "abc" y continue con cualquier cosa.

^abc.* --- ^(abc).* ---> abc, abcadfas

(D) Todas las cadenas con un mínimo de 5 letras mayusculas o minusculas y un máxmo de 10.

[a-zA-Z]{5,10} ---> abcAA, AabBC, AAAAAabdc

(E) Todas las cadenas formadas por una o mas veces la secuencia "es".

(es)+ ---> es, eses, eseseseseses


(F) Todas las cadenas que inicien con la letra "e" y continue con uno o mas letras "s".

es+ ---> es, essss, essssss

(G) Todas las cadenas que inicien con una letra distinta de "e" ó "o" y terminen con la letra "s".

[^eo]s ---> ks, hs

(H) Todas las cadenas que inician con la letra "e" y contnua con cero o una letra "s".

es? --- es{0,1} ---> e, es

(I) Todas las cadenas que inician con "s" sigue con un caracter calquiera y termina en "s".

s.s ---> sks, shs

(J) Todas las cadenas que inician con "hotmail" sigue con "." y termina con "com".

hotmail\.com ---> hotmail.com

https://jarroba.com/busqueda-de-patrones-expresiones-regulares/

COMBINACION DE ESTRUCTURAS BASICAS


(1)

public class Ejemplo {


public static void main(String[] args) {
int numerador, denominador, divisor = 2;
numerador = 25;
denominador = 50;
while(numerador >= divisor && denominador >= divisor) { //El mínimo divisor de
partida es 2
while((numerador % divisor) == 0 && (denominador % divisor) == 0) {
//Numerador y Denomnador tiene que ser multiplo simultaneamente del divisor
numerador = numerador / divisor;
denominador = denominador / divisor;
}
divisor++;
}
System.out.println("Fraccion resultante despues de simplificarla = " + numerador
+ "\\" + denominador);
}
}

(2)

public class Ejemplo {


public static void main(String[] args) {
int n, divisor, contador, c;
n = 100;
if(n >= 2) {
c = 0;
for(int i = 2; i <= n; i++) {
divisor = 1;
contador = 0;
while(divisor <= i) {
if((i % divisor) == 0) {
contador++;
if(contador > 2) break;
}
divisor++;
}
if(contador == 2) {
c++;
System.out.print("Numero primo (" + c + ") " + i + "\n");
}
}
}else
System.out.print("Por definicion, un numero primo es un numero natural mayor que uno y
solamente es divisible por la unidad y si mismo\n");
}
}

(3)

public class Ejemplo {


public static void main(String[] args) {
int resto, cociente, invertido = 0, dividendo = 12345;
while(dividendo > 0) {
cociente = dividendo / 10;
resto = dividendo % 10;
if(cociente != 0)
invertido = (invertido + resto) * 10;
else
invertido = invertido + resto;
dividendo = cociente;
}
System.out.println("Invertido = " + invertido);
}
}

(4)

public class Ejemplo {


public static void main(String[] args) {
int resto, cociente, sumar = 0, dividendo = 12345;
while(dividendo > 0) {
cociente = dividendo / 10;
resto = dividendo % 10;
sumar = sumar + resto;
dividendo = cociente;
}
System.out.println("Suma de sus digitos = " + sumar);
}
}

(5)

public class Ejemplo {


public static void main(String[] args) {
int resto, cociente, mayor = 0, dividendo = 193840;
while(dividendo > 0) {
cociente = dividendo / 10;
resto = dividendo % 10;
if(resto > mayor) mayor = resto;
dividendo = cociente;
}
System.out.println("Mayor cifra = " + mayor);
}
}

(6)

public class Ejemplo {


public static void main(String[] args) {
int resto, cociente, contador = 0, dividendo = 19340;
while(dividendo > 0) {
cociente = dividendo / 10;
resto = dividendo % 10;
contador++;
dividendo = cociente;
}
System.out.println("Cantidad de cifras = " + contador);
}
}
CONSOLE
(1)

import java.io.*;
public class Ejemplo {
public static void main(String[] args) {
String login, password;
char[] passwordArray;
Console consola = System.console();
if(consola == null) {
System.out.printf ("No existe una consola asociada a esta JVM");
System.exit(0); //Termina la aplicación
}
consola.printf("INGRESA AL SISTEMA\n");
login = consola.readLine("Login: ");
passwordArray = consola.readPassword("Password: ");
password = new String (passwordArray); //Convierte el arreglo de caracteres en un String
if(login.equals("walter") && password.equals("12345678"))
consola.printf("Acceso permitido");
else
consola.printf("\nAcceso denegado, el usuario introducido es: " + login + ", y el
password introducido es: " + password + "\n");
}
}

(2)

import java.io.*;
public class Ejemplo {
public static void main(String[] args) {
String login, password;
String mensajeLogin = "Login: ";
String mensajePassword = "Password: ";
char[] passwordArray;
Console consola = System.console();
if(consola == null) {
System.out.printf ("No existe una consola asociada a esta JVM");
System.exit(0); //Termina la aplicación
}
consola.printf("INGRESA AL SISTEMA\n");
login = consola.readLine("%s", mensajeLogin);
passwordArray = consola.readPassword("%s", mensajePassword);
password = new String (passwordArray); //Convierte el arreglo de caracteres en un String
if(login.equals("walter") && password.equals("12345678"))
consola.printf("Acceso permitido");
else
consola.printf("\nAcceso denegado, el usuario introducido es: " + login + ", y el
password introducido es: " + password + "\n");
}
}

(3)

import java.io.*;
public class Ejemplo {
public static void main(String[] args) {
String login, password;
String mensajeLogin = "Login: ";
String mensajePassword = "Password: ";
char[] passwordArray;
Console consola = System.console();
if(consola == null) {
System.out.printf ("No existe una consola asociada a esta JVM");
System.exit(0); //Termina la aplicación
}
consola.printf("INGRESA AL SISTEMA\n");
consola.printf("Login: ");
login = consola.readLine();
consola.printf("Password: ");
passwordArray = consola.readPassword();
password = new String (passwordArray); //Convierte el arreglo de caracteres en un String
if(login.equals("walter") && password.equals("12345678"))
consola.printf("Acceso permitido");
else
consola.printf("\nAcceso denegado, el usuario introducido es: " + login + ", y el
password introducido es: " + password + "\n");
}
}

VALIDAR ENTRADA POR TECLADO


(1) Decir si una persona es mayor o menor de edad. La entrada solo permite una edad de número
entero en el rango (0,150].

import java.util.Scanner;

public class Ejemplo {


public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = null;
String sER = "[0-9]+";
do {
System.out.print("Introduzca su edad? ");
s = sc.next();
}while(!(s.matches(sER) && Integer.parseInt(s)>0 && Integer.parseInt(s)<=150));
if(Integer.parseInt(s)>=18) System.out.print("Mayor de edad");
else System.out.print("Menor de edad");
sc.close();
}
}

(2) Forma Simple

Decir si una persona es mayor o menor de edad. La entrada solo permite una edad de número entero
en el rango (0,150].

(A) Usando Scanner

import java.util.Scanner;

public class Ejemplo {


public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int edadInt;
do {
System.out.print("Introduzca su edad? ");
edadInt = sc.nextInt();
}while(!(edadInt >= 0 && edadInt <= 150));
if(edadInt >= 18) System.out.println("Mayor de edad");
else System.out.println("Menor de edad");
sc.close();
}
}

(B) Usando BufferedReader

import java.io.*;

public class Ejemplo {


public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader (System.in));
boolean bandera;
int edadInt = 0;
try {
do {
System.out.print("Introduzca su edad? ");
edadInt = Integer.parseInt(br.readLine());

}while(!(edadInt >= 0 && edadInt <= 150));


if(edadInt >= 18) System.out.println("Mayor de edad");
else System.out.println("Menor de edad");
}catch (Exception e) { e.printStackTrace(); }
}
}

(3) Forma Sostificada

Decir si una persona es mayor o menor de edad. La entrada solo permite una edad de número entero
en el rango (0,150].

(A) Usando Scanner

import java.util.Scanner;

public class Ejemplo {


public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = null;
String sER = "[0-9]+";
do {
System.out.print("Introduzca su edad? ");
s = sc.next();
}while(!(s.matches(sER) && Integer.parseInt(s)>0 && Integer.parseInt(s)<=150));
if(Integer.parseInt(s)>=18) System.out.println("Mayor de edad");
else System.out.println("Menor de edad");
sc.close();
}
}

(B) Usando BufferedReader

import java.io.*;

public class Ejemplo {


public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader (System.in));
boolean bandera;
int edadInt = 0;
String edadString = "";
try {
do {
System.out.print("Introduzca su edad? ");
edadString = br.readLine();
if((bandera = esValidoEdad(edadString)) == true) {
edadInt = Integer.parseInt(edadString);
}
}while(bandera == false);
if(edadInt >= 18) System.out.println("Mayor de edad");
else System.out.println("Menor de edad");
}catch (Exception e) { e.printStackTrace(); }
}

public static boolean esValidoEdad(String edadString) {


int edadInt;
try {
edadInt = Integer.parseInt(edadString);
}catch(Exception e) { return false; }
if(edadInt >= 0 && edadInt <= 150) return true;
else return false;
}
}

ENTRADA POR TECLADO DE UNA CADENA


--------------------------------
--- Usando InputStreamReader ---
--------------------------------

import java.io.*;

public class Ejemplo {


public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String nombre;
try {
System.out.print("Introduzca su nombre? ");
nombre = br.readLine();
System.out.println("Su nombre es: " + nombre);
}catch(IOException e) { e.printStackTrace(); }
}
}

----------------------
--- Usando Scanner ---
----------------------

import java.util.*;

public class Ejemplo {


public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String nombre;
System.out.print("Introduzca su nombre? ");
nombre = sc.nextLine();
System.out.println("Su nombre es: " + nombre);
}
}

----------------------
--- Usando Console ---
----------------------

import java.io.*;

public class Ejemplo {


public static void main(String[] args) {
Console c = System.console();
String nombre;
if (c == null) {
System.out.println("No hay consola");
System.exit(0);
}
System.out.print("Introduzca su nombre? ");
nombre = c.readLine();
System.out.println("Su nombre es: " + nombre);
}
}

ENTRADA POR TECLADO DE UN CARACTER CON ECO


---------------------
--- Usando System ---
---------------------

import java.io.*;

public class Ejemplo {


public static void main(String[] args) {
char caracter;
try {
System.out.print("Introduzca un caracter y presione enter? ");
caracter = (char)System.in.read();
System.out.println("Caracter es: " + caracter);
}catch(IOException e) { e.printStackTrace(); }
}
}

--------------------------------
--- Usando InputStreamReader ---
--------------------------------

import java.io.*;

public class Ejemplo {


public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char caracter;
try {
System.out.print("Introduzca un caracter y presione enter? ");
caracter = (char)br.read();
System.out.println("Caracter es: " + caracter);
}catch(IOException e) { e.printStackTrace(); }
}
}

----------------------
--- Usando Scanner ---
----------------------

import java.util.*;

public class Ejemplo {


public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char caracter;
System.out.print("Introduzca un caracter y presione enter? ");
caracter = sc.next().charAt(0);
System.out.println("Caracter es: " + caracter);
}
}

----------------------
--- Usando Console ---
----------------------

import java.io.*;

public class Ejemplo {


public static void main(String[] args) {
Console c = System.console();
char caracter;
if (c == null) {
System.out.println("No hay consola");
System.exit(0);
}
System.out.print("Introduzca un caracter y presione enter? ");
caracter = c.readLine().charAt(0);
System.out.println("Caracter es: " + caracter);
}
}

ENTRADA POR TECLADO DE UN CARACTER SIN ECO


import java.io.*;

public class Ejemplo {


public static void main(String[] args) {
Console c = System.console();
char caracter;
if (c == null) {
System.out.println("No hay consola");
System.exit(0);
}
System.out.print("Introduzca un caracter y presione enter? ");
caracter = String.valueOf(c.readPassword()).charAt(0);
System.out.println("Caracter es: " + caracter);
}
}

INTERFACE
EJEMPLO 0002

interface Series {
int getSiguiente(); //Retorna el siguiente número de la serie
void reiniciar(); //Reinicia
void setComenzar(int x); //Establece un valor inicial
}

class DeDos implements Series {


int iniciar;
int valor;
DeDos(){
iniciar=0;
valor=0;
}
public int getSiguiente() {
valor+=2;
return valor;
}
public void reiniciar() {
valor=iniciar;
}
public void setComenzar(int x) {
iniciar=x;
valor=x;
}
}

public class Main{


public static void main(String[] args) {
DeDos ob=new DeDos();
for (int i=0;i<5;i++) System.out.println("Valor: "+ob.getSiguiente());
System.out.println("\nReiniciando");
ob.reiniciar();
for (int i=0;i<5;i++) System.out.println("Valor: "+ob.getSiguiente());
System.out.println("\nIniciando en 100");
ob.setComenzar(100);
for (int i=0;i<5;i++) System.out.println("Valor: "+ob.getSiguiente());
}
}

--->

Valor: 2
Valor: 4
Valor: 6
Valor: 8
Valor: 10

Reiniciando
Valor: 2
Valor: 4
Valor: 6
Valor: 8
Valor: 10
Iniciando en 100
Valor: 102
Valor: 104
Valor: 106
Valor: 108
Valor: 110

EJEMPLO 0003

interface Series {
int getSiguiente(); //Retorna el siguiente número de la serie
void reiniciar(); //Reinicia
void setComenzar(int x); //Establece un valor inicial
}

class DeDos implements Series {


int iniciar;
int valor;
int anterior;
DeDos(){
iniciar=0;
valor=0;
}
public int getSiguiente() {
anterior=valor;
valor+=2;
return valor;
}
public void reiniciar() {
valor=iniciar;
anterior=valor-2;
}
public void setComenzar(int x) {//Se implementa de otra forma a la del ejemplo 0001
iniciar=x;
valor=x;
anterior=x-2; //Aqui volvemos al anterior
}
//Añadiendo un método que no está definido en Series
int getAnterior(){
return anterior;
}
}

public class Main{


public static void main(String[] args) {
DeDos ob=new DeDos();
for (int i=0;i<5;i++) System.out.println("Valor: "+ob.getSiguiente());
System.out.println("\nReiniciando");
ob.reiniciar();
for (int i=0;i<5;i++) System.out.println("Valor: "+ob.getSiguiente());
System.out.println("\nIniciando en 100");
ob.setComenzar(100);
for (int i=0;i<5;i++) System.out.println("Valor: "+ob.getSiguiente());
System.out.println("Anterior = " + ob.getAnterior());
}
}

--->

Valor: 2
Valor: 4
Valor: 6
Valor: 8
Valor: 10

Reiniciando
Valor: 2
Valor: 4
Valor: 6
Valor: 8
Valor: 10

Iniciando en 100
Valor: 102
Valor: 104
Valor: 106
Valor: 108
Valor: 110
Anterior = 108

EJEMPLO 0004

Variable de referencia de interfaz

interface Series {
int getSiguiente(); //Retorna el siguiente número de la serie
void reiniciar(); //Reinicia
void setComenzar(int x); //Establece un valor inicial
}

class DeDos implements Series {


int iniciar;
int valor;
int anterior;
DeDos(){
iniciar=0;
valor=0;
}
public int getSiguiente() {
valor+=2;
return valor;
}
public void reiniciar() {
valor=iniciar;
}
public void setComenzar(int x) {
iniciar=x;
valor=x;
}
}

class DeTres implements Series{


int iniciar;
int valor;
DeTres(){
iniciar=0;
valor=0;
}
public int getSiguiente() {
valor+=3;
return valor;
}
public void reiniciar() {
valor=iniciar;
}
public void setComenzar(int x) {
iniciar=x;
valor=x;
}
}

public class Main{


public static void main(String[] args) {
DeDos dosOb=new DeDos();
DeTres tresOb=new DeTres();
Series ob;
for (int i=0;i<5;i++) {
ob = dosOb;
System.out.println("Siguiente valor DeDos es: " + ob.getSiguiente());
ob = tresOb;
System.out.println("Siguiente valor DeTres es: " + ob.getSiguiente());
}
}
}

--->

Siguiente valor DeDos es: 2


Siguiente valor DeTres es: 3
Siguiente valor DeDos es: 4
Siguiente valor DeTres es: 6
Siguiente valor DeDos es: 6
Siguiente valor DeTres es: 9
Siguiente valor DeDos es: 8
Siguiente valor DeTres es: 12
Siguiente valor DeDos es: 10
Siguiente valor DeTres es: 15

EJEMPLO 0005

Para definir un conjunto de constantes compartidas, cree una interfaz que contenga solo estas
constantes, sin ningún método.

//Una interfaz que contiene constantes


interface Constante {
//Definiendo 3 constantes
int MIN=0;
int MAX=10;
String MSJERROR="LIMITE ERROR";
}

public class Main implements Constante {


public static void main(String[] args) {
int numeros[]=new int[MAX];
for (int i=MIN; i<11; i++){
if (i>=MAX) System.out.println(MSJERROR);
else {
numeros[i]=i;
System.out.println(numeros[i]+ " ");
}
}
}
}

--->

0
1
2
3
4
5
6
7
8
9
LIMITE ERROR

EJEMPLO 0006

Una interfaz puede heredar otra mediante el uso de la palabra clave extends.

//Una interface puede extender de otra


interface A{
void metodo1();
void metodo2();
}
//B ahora incluye metodo1() y metodo2() - y añade metodo3()
interface B extends A{
void metodo3();
}
//Esta clase debe implementar los métodos de A y B
class MiClase implements B{
public void metodo1() {
System.out.println("Implementación de metodo1().");
}
public void metodo2() {
System.out.println("Implementación de metodo2().");
}
public void metodo3() {
System.out.println("Implementación de metodo3().");
}
}
public class Main {
public static void main(String[] args) {
MiClase mc=new MiClase();
mc.metodo1();
mc.metodo2();
mc.metodo3();
}
}

--->

Implementación de metodo1().
Implementación de metodo2().
Implementación de metodo3().

CLASE ABSTRACTA
·22 Abstracción signfica resaltar lo mas representativo de algo sin importar los detalles.
·23 En inglés abstract significa “resumen”, por eso en algunos textos en castellano a las clases
abstractas se les llama resúmenes.
·24 Una clase abstracta para Java es una clase de la que nunca se van a crear instancias:
simplemente va a servir como superclase a otras clases.
·25 Una clase de la que no se tiene intención de crear objetos, sino que únicamente sirve para
unificar datos u operaciones de subclases, puede declararse de forma especial en Java: como
clase abstracta.
·26 La declaración de que una clase es abstracta se hace con la sintaxis public abstract class
NombreDeLaClase { … }. Por ejemplo public abstract class Profesor. Cuando utilizamos esta
sintaxis, no resulta posible instanciar la clase, es decir, no resulta posible crear objetos
de ese tipo. Sin embargo, sigue funcionando como superclase de forma similar a como lo haría
una superclase “normal”. La diferencia principal radica en que no se pueden crear objetos de
esta clase.
·27 Para que una clase sea abstracta la condición es que al menos uno de sus métodos sea
abstracto.
·28 Si una clase incluye un método abstracto, forzosamente la clase será una clase abstracta.
·29 Los métodos abstractos forzosamente habrán de estar sobreescritos en las subclases.
·30 Podemos ver un método abstracto como una palanca que fuerza dos cosas: la primera, que no se
puedan crear objetos de una clase. La segunda, que todas las subclases sobreescriban el método
declarado como abstracto.
·31 Una clase abstracta no puede ser instanciada, pero pueden crearse subclases concretas sobre la
base de una clase abstracta, y crear instancias de estas subclases. Para ello hay que heredar
de la clase abstracta y anular los métodos abstractos, es decir, implementarlos.

EJEMPLO 0007
EJEMPLO 0008

You might also like