public class SIMULACRO
{
public static void CalculosString(String x)
{
//Cadena Invertida
String invertida = "";
String sinespacios = x.replaceAll("" ,"" );
for (int i = x.length()-1; i>=0; i--)
invertida += sinespacios.charAt(i);
System.out.println("La cadena invertida es " + invertida);
//PosicionSubcadena
int posicion;
String palabraabuscar = "";
posicion = x.indexOf(palabraabuscar);
System.out.println("La posicion de " + palabraabuscar + " es: " + posicion);
//Es palindromo?
x.replaceAll(" ", "");
x = x.toLowerCase();
invertida = invertida.toLowerCase();
if (x.equals(invertida))
System.out.println("Es palindromo " );
else
System.out.println("No es palindromo");
}
public static boolean validarNSS(String nss)
{
String regEx = "[A-Z]{2}-[0-9]{2}-[0-9]{8}-[0-9]{2}|[A-Z]{2}[0-9]{12}$";
if (nss.matches(regEx)) {
nss = nss.replaceAll("-", "");
String aa = nss.substring(2 , 4);
String bb = nss.substring(4, 12);
String cc = nss.substring(12, 14);
long validacion = 0;
long calcularDD = 0;
if (Long.parseLong(bb)<10000000)
calcularDD = Long.parseLong(bb) + Long.parseLong(aa) * 10000000;
else
calcularDD =Long.parseLong(bb) + Long.parseLong(aa);
validacion = calcularDD % 97;
String validaString = String.valueOf(validacion);
return validaString.equals(cc);
}
return false;
}
static class Racionales
{
private int numerador;
private int denominador;
public void ver_datos()
{
System.out.println("El numerador es: " + this.getNumerador());
System.out.println("_____");
System.out.println("El denominador es : " + this.getDenominador());
}
protected void setDenominador(int x)
{
try
{
if (x!=0)
this.denominador = x;
else
throw new IllegalArgumentException();
}catch(IllegalArgumentException e){
System.out.println("El denominador no puede ser 0 " + e.toString());}
}
protected void setNumerador(int x)
{
this.numerador = x;
}
protected int getDenominador()
{
return this.denominador;
}
protected int getNumerador()
{
return this.numerador;
}
Racionales()
{
setNumerador(1);
setDenominador(1);
}
Racionales(int num, int den)
{
setNumerador(num);
setDenominador(den);
}
Racionales(Racionales a)
{
setNumerador(a.numerador);
setDenominador(a.denominador);
}
}
class LibreriaMatematica extends Racionales {
protected static boolean equivalemcia(Racionales a, Racionales b) {
if ((a.getNumerador() * b.getDenominador()) == (a.getDenominador() * b.getNumerador()))
return true;
else
return false;
}
protected static Racionales suma(Racionales a, Racionales b) {
Racionales resultado = new Racionales();
resultado.setNumerador((a.getNumerador() * b.getDenominador()) + (a.getDenominador() * b.getNumerador()));
resultado.setDenominador(a.getDenominador() * b.getNumerador());
resultado.ver_datos();
return resultado;
}
protected static Racionales resta(Racionales a, Racionales b) {
Racionales resultado = new Racionales();
resultado.setNumerador((a.getNumerador() * b.getDenominador()) - (a.getDenominador() * b.getNumerador()));
resultado.setDenominador(a.getDenominador() * b.getNumerador());
resultado.ver_datos();
return resultado;
}
protected static Racionales multiplicacion(Racionales a, Racionales b)
{
Racionales resultado = new Racionales();
resultado.setNumerador(a.getNumerador() * b.getNumerador());
resultado.setDenominador(a.getDenominador() * b.getDenominador());
resultado.ver_datos();
return resultado;
}
protected static Racionales division (Racionales a, Racionales b)
{
Racionales racionales = new Racionales();
racionales.setNumerador( a.getNumerador() * b.getDenominador() );
racionales.setDenominador( a.getDenominador() * b.getNumerador() );
racionales.ver_datos();
return racionales;
}
}
// private static String invertido(String a))
// {
// String inver = a.replaceAll(" ", "");
// System.out.println("" + inver);
// for (int i =a.length()-1; i <=0; i++)
// {
// inver += a.charAt(i);
// }
// return inver;
// }
////
//// // private static void calculcarposiciones(String a)
//// {
//// //CALCULAR POSICIONES
//// System.out.println("Las posiciones del substring que se busca son ");
////
//// int posicionesMayu = 0;
////
//// while(posicionesMayu >=0)
//// {
//// System.out.println(a.indexOf("la" + " "));
//// posicionesMayu = a.indexOf("la" + posicionesMayu + 1);
//// }
////
//// }
//
//
//
//
////
////
////
////
////private static void calcularPosiciones(String a) {
//// System.out.println("Las posiciones del substring que se busca son:");
////
//// int pos = a.indexOf("la");
//// while (pos != -1) {
//// System.out.print(pos + " ");
//// pos = a.indexOf("la", pos + 1);
//// }
////
//// System.out.println();
////}
//
//
//
//
// private static void palindromo(String a)
// {
// String inver = invertido(a);
// inver = inver.replaceAll(" ", "");
// a.replaceAll(" ", "");
//
// System.out.println(inver + " ");
// System.out.println(" " + a);
// }
//
// public static void CalcularString(String x)
// { //CALCULAR NUEVO STRING QUE CONTIENE LA CADENA INVERTIDA
// String inver = "";
// for (int i =x.length() -1; i >= 0; i--)
// inver += x.charAt(i);
//
//// for (int i = x.length() - 1; i >= 0; i--) {
//// inver += x.charAt(i);
//// }
//
//
//
// System.out.println("El string " + x + " invertido será "+ inver);
//
//
//
//
//// calcularPosiciones(x);
//
//
//// System.out.println("El metodo es palindromo : " + palindromo(x));
//
//
// }
public static void main(String[] args)
{
// CalcularString("Dabale arroz a la zorra el abad");
CalculosString("hola");
Racionales uno = new Racionales(20,0);
Racionales dos = new Racionales(20,40);
LibreriaMatematica.division(uno,dos);
LibreriaMatematica.equivalemcia(uno,dos);
LibreriaMatematica.multiplicacion(uno,dos);
LibreriaMatematica.suma(uno,dos);
LibreriaMatematica.resta(uno,dos);
}/*