SlideShare una empresa de Scribd logo
Universidad de las Fuerzas Armadas
Nombre: Francisco Alejandro Vásquez Fierro Fecha: 21 de mayo del 2018
Curso: 2° A
NRC: 2183
Carrera: Mecatrónica
Comovalidaruna cadenade caracteres.
Objetivo.
Conocerel modode uso y la estructuradel comandoutilizadoparavalidarcadenasde
caracteres.
Objetivoespecifico
En este caso se estudiarálasexpresionesregularesenJava,porloque se procederáa explicar
su funcionamiento,estructura,ysusprincipalesusosycomandosque se utilizanenel Java.
Desarrollo
Las expresiones regularesenJavahansidoutilizadasdesde hace añosenotroslenguajesde
programacióncomoPerl o Sed.
Para poderutilizarestasfuncionesse utilizael paquete java.util.regex lacual proporcionauna
serie de clasesque sonutilizadasparael funcionamientode lasexpresionesenJava.
Una expresión regularesunpatrónque describe unacadenade caracteres.Estas expresiones
regularesse rigenporuna serie de normasyhay una construcciónpara cualquierpatrónde
caracteres.Aparte de letrasy númerospuede tenerlossiguientescaracteres:
< $, ^, ., *, +, ?, [, ], . >
El empleode unaexpresiónregularesutilizadoparaencontrarpatronesenunacadenade
textoo para identificarcuantasvecesse repite unapalabraenuntexto.Tambiénesutilizada
para comprobar que el nombre de unarchivoque nos proponentiene unadeterminada
extensiónoporejemploque unacadenaposeauncarácter en especial,esdecirque un correo
poseala letrade @.
El paquete java.util.regex tiene dosclasesque sonesencialesparacomprobarunacadena de
caracteres.La clase Matcher, Pattern y la excepción PatternSyntaxException.
la clase Pattern representaalaexpresiónregularque enel paquete java.util.regex que
necesiatestarcompilada.
La clase Matcher esun objetoque se creaa partirde un patrón mediante lainvocacióndel
patrón Pattern.matcherque permite realizaroperacionessobre lasecuenciade caracteresque
queremosvalidarolasecuenciade caracteresque queremosbuscar.
Para crear un patrónnecesitamoscompilarunaexpresiónregular,estoloconseguimosconel
métodocompile:
Pattern patron = Pattern.compile("camion");
Donde “camion”es lacadena que se quiere validar. El métodopatterndevuelve laexpresión
regularque hemoscompilado.
Matcher encaja = patron.matcher();
Esta clase se utilizapara comprobarcadenascontra el patrón indicado.
Un objeto Matcher se generaa partir de un objeto Patternpor mediodel métodomatcher.
Por ejemplo
Stringentrada= " No para mi que triste yeah";
Patternpatron= Pattern.compile("[^A-Za-z]");
Matcher encaja= patron.matcher(entrada);
En este caso el método patterncomparasi lacadena estáincluidaloscaracteresde laA a la Z
enmayúsculasyminúsculas,incluidoel espacio.El signo^ indicaexcepción,esdecir,que la
cadenano debe tenervaloresentre el rangodicho.
Otras formasde manipularlascadenasde caracteresson:
[ABC] A, B, O C
[^ABC] Cualquiercaracterexceptoa,b,o c
(negacion)
[A-ZA-Z] Desde laa a la z o desde laA hasta la Z,
incluidos
[A-D[M-P]] Desde laa hasta la d, o desde lama la p:[a-
dm-p] (union)
[A-Z&&[DEF]] La d,la e,o la f (interseccion)
[A-Z&&[^BC]] Desde laa hasta la z, exceptolaby la c: [ad-
z] (resta)
[A-Z&&[^M-P]] Desde laa hasta la z, exceptodesde lam
hasta lap: [a-lq-z](resta)
Conclusión
Este métodoesmuy factible manipularlascadenasynos ofrece una gran cantidadde
comandosentre ellos,labúsquedade patrones,comparaciónde longitudde cadenas,la
búsquedade palabrasenuntexto,ladelimitaciónde texto,entre otros.
Es muy útil que inclusonospermite manipularopcionesde redcomocorreosodirecciones
web.
Bibliografía
(06 de 06 de 2006). Obtenidode ayudaconvalidacionde string:
http://www.forosdelweb.com/f45/ayuda-con-validacion-string-399838/
Programcion.net.(s.f).Obtenidode ExpresionesRegularesenJava:
https://programacion.net/articulo/expresiones_regulares_en_java_127
Universidad de las Fuerzas Armadas
Nombre: Francisco Alejandro Vásquez Fierro Fecha: 21 de mayo del 2018
Curso: 2° A
NRC: 2183
Carrera: Mecatrónica
Realizarunprograma que permitaingresarvaloresde cualquiermanerade lasconocidas yque
tengados clases.El programa deberábuscaruna placaingresadadesde el tecladoybuscaren
los5 objetos.Si encuentralaplacadeberápresentarel estadodel programa.Tambiéndeberá
mostrar el númerode autosde la marca Suzuki.Deberámostrarel porcentaje de autosde la
capital y la provincia.
package unidad1;
import java.util.*;
class automovil{
private String placa,marca;
private int añofab;
public void iniciadatos() {
Scanner tec=new Scanner(System.in);
System.out.print("Ingrese la placa n");placa=tec.next();
System.out.print("Ingrese la marca n");marca=tec.next();
do{
System.out.print("Ingrese el año de fabricaión
n");añofab=tec.nextInt();
}while(añofab<2000 || añofab>2018);
}
public void mostrarvehiculo(){
System.out.println("Placa: "+placa);
System.out.println("Marca: "+marca);
System.out.println("Año de fabricación: "+añofab);
}
public String retplaca() {
return placa;
}
public String retmarca() {
return placa;
}
public int retañofab() {
return añofab;
}
}
public class correccionPrueba {
public static void main(String[] args) {
int b,c;
Scanner tec=new Scanner(System.in);
System.out.println("Ingrese al objeto 1.");
automovil a1=new automovil(); a1.iniciadatos();
System.out.println("Ingrese al objeto 2.");
automovil a2=new automovil(); a2.iniciadatos();
System.out.println("Ingrese al objeto 3.");
automovil a3=new automovil(); a3.iniciadatos();
System.out.println("Ingrese al objeto 4.");
automovil a4=new automovil(); a4.iniciadatos();
System.out.println("Ingrese al objeto 5.");
automovil a5=new automovil(); a5.iniciadatos();
System.out.println("Ingrese la placa del auto que desea
buscar.");
String buscplaca=tec.next();
int a=0;
if(a1.retplaca().equalsIgnoreCase(buscplaca)) {
System.out.println("La placa "+buscplaca+" pertenece al
auto: ");
a1.mostrarvehiculo();
a++;
}
if(a2.retplaca().equalsIgnoreCase(buscplaca)) {
System.out.println("La placa "+buscplaca+" pertenece al
auto: ");
a2.mostrarvehiculo();
a++;
}
if(a3.retplaca().equalsIgnoreCase(buscplaca)) {
System.out.println("La placa "+buscplaca+" pertenece al
auto: ");
a3.mostrarvehiculo();
a++;
}
if(a4.retplaca().equalsIgnoreCase(buscplaca)) {
System.out.println("La placa "+buscplaca+" pertenece al
auto: ");
a4.mostrarvehiculo();
a++;
}
if(a5.retplaca().equalsIgnoreCase(buscplaca)) {
System.out.println("La placa "+buscplaca+" pertenece al
auto: ");
a5.mostrarvehiculo();
a++;
}
if(a==0) {
System.out.println("No existe "+buscplaca+" en los
datos.");
}
String marca="Suzuki";
a=0;
if(a1.retmarca().equalsIgnoreCase(marca)) {
a++;
}
if(a2.retmarca().equalsIgnoreCase(marca)) {
a++;
}
if(a3.retmarca().equalsIgnoreCase(marca)) {
a++;
}
if(a4.retmarca().equalsIgnoreCase(marca)) {
a++;
}
if(a5.retmarca().equalsIgnoreCase(marca)) {
a++;
}
if(a!=0) {
System.out.println("El numero de autos de la marca Suzuki
es "+a);
}
else {
System.out.println("No existe autos de la marca Suzuki.");
}
a=0;
if(a1.retplaca().startsWith("p")) {
a++;
}
if(a2.retplaca().startsWith("p")) {
a++;
}
if(a3.retplaca().startsWith("p")) {
a++;
}
if(a4.retplaca().startsWith("p")) {
a++;
}
if(a5.retplaca().startsWith("p")) {
a++;
}
b=(a*100)/5;
System.out.println("El porcentaje de autos de la capital es:
."+b+"%.");
c=100-b;
System.out.println("El porcentaje de autos de provincia es:
"+c+"%.");
}
}
Universidad de las Fuerzas Armadas
Nombre: Francisco Alejandro Vásquez Fierro Fecha: 21 de mayo del 2018
Curso: 2° A
NRC: 2183
Carrera: Mecatrónica
Realizarunprograma con constructorparametrizadoyla clase persona.Que permitaingresar
n objetosyrealice lassiguientesactividades. Que indiqueel porcentaje de hombresymujeres,
que muestre el estadode lapersonaque tengael númerode cédulabuscadodesde el teclado
y sacar el númerode personasque tenganel apellidobuscadodesde el teclado.
package unidad1;
import java.util.*;
class persona{
private String cedula,nombre,apellido,genero;
private int edad;
public persona(String ce,String nom,String ape,String gen,int ed){
cedula=ce;nombre=nom;apellido=ape;genero=gen;edad=ed;
}
public void muestradatos(){
System.out.println("");
System.out.println("La cedula es: "+cedula);
System.out.println("El nombre es: "+nombre+" "+apellido);
System.out.println("El genero es: "+genero);
System.out.println("La edad es: "+edad);
System.out.println("");
}
public String getape(){
return apellido;
}
public String getgen(){
return genero;
}
public String getced(){
return cedula;
}
}
public class personaconstructor {
public static void main(String[] args) {
String ce,nom,ape,gen,apebusc,buscced;
int ed,n,i,a=1;
Scanner tec=new Scanner(System.in);
System.out.println("Ingrese el numero de personas que quiere
ingresar.");
do {
n=tec.nextInt();
if(n<2) {
System.out.println("Valor incorrecto, vuelva a
ingresar.");
}
}while(n<2);
persona[] per=new persona[n];
for(i=0;i<n;i++) {
System.out.println("");
System.out.println("Ingrese datos de la persona "+a);
System.out.println("Ingrese la cedula:");ce=tec.next();
System.out.println("Ingrese nombre:"); nom=tec.next();
System.out.println("Ingrese el apellido:");ape=tec.next();
do {
System.out.println("Ingrese el genero:");
gen=tec.next();
if(!gen.equalsIgnoreCase("femenino") &&
!gen.equalsIgnoreCase("masculino")) {
System.out.println("Datos erroneos. Debe
ingresar masculino o femenino.");
}
}while(!gen.equalsIgnoreCase("femenino") &&
!gen.equalsIgnoreCase("masculino"));
do{
System.out.println("Ingrese la edad");
ed=tec.nextInt();
if(ed<0) {
System.out.println("La edad no puede ser
menor a cero.");
}
}while(ed<0);
per[i]=new persona(ce,nom,ape,gen,ed);
a++;
}
//apellido buscado y contar el numero de apellidos
System.out.println("Ingrese el apellido que desea buscar.");
apebusc=tec.next();
a=0;
for(i=0;i<n;i++) {
if(apebusc.equalsIgnoreCase(per[i].getape())) {
a++;
}
}
if(a!=0) {
System.out.println("El numero de personas con el apellido
"+apebusc+" es:"+a);
}
else {
System.out.println("No existen personas con ese
apellido");
}
//sacar el estado de la cedula buscada
System.out.println("Ingrese el numero de cédeula que desea
buscar.");
buscced=tec.next();
a=0;
for(i=0;i<n;i++) {
if(buscced.equals(per[i].getced())) {
System.out.println("La cédula buscada "+buscced+"
pertenece a la persona cuyo estado es: ");
per[i].muestradatos();
a++;
}
}
if(a==0) {
System.out.println("El número de cédula "+buscced+" no
existe.");
}
// porcentaje de generos
a=0;
float b,c;
for(i=0;i<n;i++) {
if(per[i].getgen().equalsIgnoreCase("femenino")) {
a++;
}
}
b=(a*100)/n;
System.out.println("El porcentaje de mujeres es"+b+"%.");
c=100-b;
System.out.println("El porcentaje de hombres es"+c+"%.");
}
}
Comparacion de cadena
Comparacion de cadena

Más contenido relacionado

Similar a Comparacion de cadena

Tutorial descilab
Tutorial descilabTutorial descilab
Tutorial descilab
Juan Isaac Chicaiza
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su función
Ana Ruth G H
 
Matlab2
Matlab2Matlab2
Matlab2
yenidrl
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
horusblom
 
Best Practices
Best PracticesBest Practices
Best Practices
Luis Miguel De Bello
 
Comandos
ComandosComandos
Comandos
Elizabeth Reyna
 
Java Script Frame Works
Java Script Frame WorksJava Script Frame Works
Java Script Frame Works
hectorguedea
 
Lista de Comandos
Lista de ComandosLista de Comandos
Lista de Comandos
Elizabeth Reyna
 
Conectar java con una base de datos
Conectar java con una base de datosConectar java con una base de datos
Conectar java con una base de datos
jbersosa
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
bat1820
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
gbermeo
 
Trabajo tutorial de visual C++
Trabajo tutorial de visual C++Trabajo tutorial de visual C++
Trabajo tutorial de visual C++
Bryangio2002
 
comandos
comandoscomandos
comandos
arecerv
 
Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)
Daniel Gómez
 
Longitud de cadena y funciones en java
Longitud de cadena y funciones en javaLongitud de cadena y funciones en java
Longitud de cadena y funciones en java
Robert Wolf
 
Equipo 1
Equipo 1Equipo 1
Equipo 1
gabo
 
Equipo 1
Equipo 1Equipo 1
Equipo 1
gabo
 
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
Oscar V
 
MATLAB 2010
MATLAB 2010MATLAB 2010
MATLAB 2010
Jose Cordova
 
Módulo 4 (sin estilo)
Módulo 4 (sin estilo)Módulo 4 (sin estilo)
Módulo 4 (sin estilo)
Emiliano Siracusa
 

Similar a Comparacion de cadena (20)

Tutorial descilab
Tutorial descilabTutorial descilab
Tutorial descilab
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su función
 
Matlab2
Matlab2Matlab2
Matlab2
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
 
Best Practices
Best PracticesBest Practices
Best Practices
 
Comandos
ComandosComandos
Comandos
 
Java Script Frame Works
Java Script Frame WorksJava Script Frame Works
Java Script Frame Works
 
Lista de Comandos
Lista de ComandosLista de Comandos
Lista de Comandos
 
Conectar java con una base de datos
Conectar java con una base de datosConectar java con una base de datos
Conectar java con una base de datos
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Trabajo tutorial de visual C++
Trabajo tutorial de visual C++Trabajo tutorial de visual C++
Trabajo tutorial de visual C++
 
comandos
comandoscomandos
comandos
 
Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)
 
Longitud de cadena y funciones en java
Longitud de cadena y funciones en javaLongitud de cadena y funciones en java
Longitud de cadena y funciones en java
 
Equipo 1
Equipo 1Equipo 1
Equipo 1
 
Equipo 1
Equipo 1Equipo 1
Equipo 1
 
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
 
MATLAB 2010
MATLAB 2010MATLAB 2010
MATLAB 2010
 
Módulo 4 (sin estilo)
Módulo 4 (sin estilo)Módulo 4 (sin estilo)
Módulo 4 (sin estilo)
 

Último

Clase Isometricos parA circuitos de ingenieria
Clase Isometricos parA circuitos de ingenieriaClase Isometricos parA circuitos de ingenieria
Clase Isometricos parA circuitos de ingenieria
leonidasbajalquepuch
 
Aletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicosAletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicos
FrancelisFernandez
 
TIA portal Bloques PLC Siemens______.pdf
TIA portal Bloques PLC Siemens______.pdfTIA portal Bloques PLC Siemens______.pdf
TIA portal Bloques PLC Siemens______.pdf
ArmandoSarco
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
MaraManuelaUrribarri
 
PRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdf
PRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdfPRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdf
PRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdf
fabian28735081
 
Klohn Crippen Berger _ Brochure LAM .pdf
Klohn Crippen Berger _ Brochure LAM .pdfKlohn Crippen Berger _ Brochure LAM .pdf
Klohn Crippen Berger _ Brochure LAM .pdf
ciniguez1
 
Clase Gas Natural , en piura kdhifheugfjiebfijhebvcihebvifh
Clase Gas Natural , en piura kdhifheugfjiebfijhebvcihebvifhClase Gas Natural , en piura kdhifheugfjiebfijhebvcihebvifh
Clase Gas Natural , en piura kdhifheugfjiebfijhebvcihebvifh
FrancisJhonatanEnriq1
 
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtualSESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
JuanGavidia2
 
MATERIALES PELIGROSOS NIVEL DE ADVERTENCIA
MATERIALES PELIGROSOS NIVEL DE ADVERTENCIAMATERIALES PELIGROSOS NIVEL DE ADVERTENCIA
MATERIALES PELIGROSOS NIVEL DE ADVERTENCIA
ROXYLOPEZ10
 
diagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingenieríadiagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingeniería
karenperalta62
 
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Eliana Gomajoa
 
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDACURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
KruggerCossio1
 
Presentación 01 Curso de Introducción a Python.pdf
Presentación 01 Curso de Introducción a Python.pdfPresentación 01 Curso de Introducción a Python.pdf
Presentación 01 Curso de Introducción a Python.pdf
jorgecuasapaz182
 
Presentación transferencia de calor Jesus Morales.pdf
Presentación transferencia de calor Jesus Morales.pdfPresentación transferencia de calor Jesus Morales.pdf
Presentación transferencia de calor Jesus Morales.pdf
jdcumarem02
 
Características de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptxCaracterísticas de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptx
MONICADELROCIOMUNZON1
 
561425171-5-1-Modelos-de-Pronosticos.pptx
561425171-5-1-Modelos-de-Pronosticos.pptx561425171-5-1-Modelos-de-Pronosticos.pptx
561425171-5-1-Modelos-de-Pronosticos.pptx
Angel Tello
 
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de PlantasDISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
HalmarMiranda
 
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptxPRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
MONICADELROCIOMUNZON1
 
MANUAL MONITOREO DEL SERVICIO DE INTERNET SATELITAL DEL MINEDU (CON ANTENAS ...
MANUAL MONITOREO DEL SERVICIO DE INTERNET  SATELITAL DEL MINEDU (CON ANTENAS ...MANUAL MONITOREO DEL SERVICIO DE INTERNET  SATELITAL DEL MINEDU (CON ANTENAS ...
MANUAL MONITOREO DEL SERVICIO DE INTERNET SATELITAL DEL MINEDU (CON ANTENAS ...
Ing. Julio Iván Mera Casas
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
hugodennis88
 

Último (20)

Clase Isometricos parA circuitos de ingenieria
Clase Isometricos parA circuitos de ingenieriaClase Isometricos parA circuitos de ingenieria
Clase Isometricos parA circuitos de ingenieria
 
Aletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicosAletas (Superficies extendidas) y aislantes térmicos
Aletas (Superficies extendidas) y aislantes térmicos
 
TIA portal Bloques PLC Siemens______.pdf
TIA portal Bloques PLC Siemens______.pdfTIA portal Bloques PLC Siemens______.pdf
TIA portal Bloques PLC Siemens______.pdf
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
 
PRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdf
PRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdfPRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdf
PRESENTACION TRANSFERENCIA FABIAN ALVAREZ.pdf
 
Klohn Crippen Berger _ Brochure LAM .pdf
Klohn Crippen Berger _ Brochure LAM .pdfKlohn Crippen Berger _ Brochure LAM .pdf
Klohn Crippen Berger _ Brochure LAM .pdf
 
Clase Gas Natural , en piura kdhifheugfjiebfijhebvcihebvifh
Clase Gas Natural , en piura kdhifheugfjiebfijhebvcihebvifhClase Gas Natural , en piura kdhifheugfjiebfijhebvcihebvifh
Clase Gas Natural , en piura kdhifheugfjiebfijhebvcihebvifh
 
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtualSESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
 
MATERIALES PELIGROSOS NIVEL DE ADVERTENCIA
MATERIALES PELIGROSOS NIVEL DE ADVERTENCIAMATERIALES PELIGROSOS NIVEL DE ADVERTENCIA
MATERIALES PELIGROSOS NIVEL DE ADVERTENCIA
 
diagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingenieríadiagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingeniería
 
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
Enjoy Pasto Bot - "Tu guía virtual para disfrutar del Carnaval de Negros y Bl...
 
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDACURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
CURSO FINAL CONMINUCION-CHANCADO Y MOLIENDA
 
Presentación 01 Curso de Introducción a Python.pdf
Presentación 01 Curso de Introducción a Python.pdfPresentación 01 Curso de Introducción a Python.pdf
Presentación 01 Curso de Introducción a Python.pdf
 
Presentación transferencia de calor Jesus Morales.pdf
Presentación transferencia de calor Jesus Morales.pdfPresentación transferencia de calor Jesus Morales.pdf
Presentación transferencia de calor Jesus Morales.pdf
 
Características de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptxCaracterísticas de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptx
 
561425171-5-1-Modelos-de-Pronosticos.pptx
561425171-5-1-Modelos-de-Pronosticos.pptx561425171-5-1-Modelos-de-Pronosticos.pptx
561425171-5-1-Modelos-de-Pronosticos.pptx
 
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de PlantasDISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
DISEÑO DE PLANTA TIPO CELULAR - Diseño de Plantas
 
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptxPRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
 
MANUAL MONITOREO DEL SERVICIO DE INTERNET SATELITAL DEL MINEDU (CON ANTENAS ...
MANUAL MONITOREO DEL SERVICIO DE INTERNET  SATELITAL DEL MINEDU (CON ANTENAS ...MANUAL MONITOREO DEL SERVICIO DE INTERNET  SATELITAL DEL MINEDU (CON ANTENAS ...
MANUAL MONITOREO DEL SERVICIO DE INTERNET SATELITAL DEL MINEDU (CON ANTENAS ...
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
 

Comparacion de cadena

  • 1. Universidad de las Fuerzas Armadas Nombre: Francisco Alejandro Vásquez Fierro Fecha: 21 de mayo del 2018 Curso: 2° A NRC: 2183 Carrera: Mecatrónica Comovalidaruna cadenade caracteres. Objetivo. Conocerel modode uso y la estructuradel comandoutilizadoparavalidarcadenasde caracteres. Objetivoespecifico En este caso se estudiarálasexpresionesregularesenJava,porloque se procederáa explicar su funcionamiento,estructura,ysusprincipalesusosycomandosque se utilizanenel Java. Desarrollo Las expresiones regularesenJavahansidoutilizadasdesde hace añosenotroslenguajesde programacióncomoPerl o Sed. Para poderutilizarestasfuncionesse utilizael paquete java.util.regex lacual proporcionauna serie de clasesque sonutilizadasparael funcionamientode lasexpresionesenJava. Una expresión regularesunpatrónque describe unacadenade caracteres.Estas expresiones regularesse rigenporuna serie de normasyhay una construcciónpara cualquierpatrónde caracteres.Aparte de letrasy númerospuede tenerlossiguientescaracteres: < $, ^, ., *, +, ?, [, ], . > El empleode unaexpresiónregularesutilizadoparaencontrarpatronesenunacadenade textoo para identificarcuantasvecesse repite unapalabraenuntexto.Tambiénesutilizada para comprobar que el nombre de unarchivoque nos proponentiene unadeterminada
  • 2. extensiónoporejemploque unacadenaposeauncarácter en especial,esdecirque un correo poseala letrade @. El paquete java.util.regex tiene dosclasesque sonesencialesparacomprobarunacadena de caracteres.La clase Matcher, Pattern y la excepción PatternSyntaxException. la clase Pattern representaalaexpresiónregularque enel paquete java.util.regex que necesiatestarcompilada. La clase Matcher esun objetoque se creaa partirde un patrón mediante lainvocacióndel patrón Pattern.matcherque permite realizaroperacionessobre lasecuenciade caracteresque queremosvalidarolasecuenciade caracteresque queremosbuscar. Para crear un patrónnecesitamoscompilarunaexpresiónregular,estoloconseguimosconel métodocompile: Pattern patron = Pattern.compile("camion"); Donde “camion”es lacadena que se quiere validar. El métodopatterndevuelve laexpresión regularque hemoscompilado. Matcher encaja = patron.matcher(); Esta clase se utilizapara comprobarcadenascontra el patrón indicado. Un objeto Matcher se generaa partir de un objeto Patternpor mediodel métodomatcher.
  • 3. Por ejemplo Stringentrada= " No para mi que triste yeah"; Patternpatron= Pattern.compile("[^A-Za-z]"); Matcher encaja= patron.matcher(entrada); En este caso el método patterncomparasi lacadena estáincluidaloscaracteresde laA a la Z enmayúsculasyminúsculas,incluidoel espacio.El signo^ indicaexcepción,esdecir,que la cadenano debe tenervaloresentre el rangodicho. Otras formasde manipularlascadenasde caracteresson: [ABC] A, B, O C [^ABC] Cualquiercaracterexceptoa,b,o c (negacion) [A-ZA-Z] Desde laa a la z o desde laA hasta la Z, incluidos [A-D[M-P]] Desde laa hasta la d, o desde lama la p:[a- dm-p] (union) [A-Z&&[DEF]] La d,la e,o la f (interseccion) [A-Z&&[^BC]] Desde laa hasta la z, exceptolaby la c: [ad- z] (resta) [A-Z&&[^M-P]] Desde laa hasta la z, exceptodesde lam hasta lap: [a-lq-z](resta) Conclusión Este métodoesmuy factible manipularlascadenasynos ofrece una gran cantidadde comandosentre ellos,labúsquedade patrones,comparaciónde longitudde cadenas,la búsquedade palabrasenuntexto,ladelimitaciónde texto,entre otros. Es muy útil que inclusonospermite manipularopcionesde redcomocorreosodirecciones web.
  • 4. Bibliografía (06 de 06 de 2006). Obtenidode ayudaconvalidacionde string: http://www.forosdelweb.com/f45/ayuda-con-validacion-string-399838/ Programcion.net.(s.f).Obtenidode ExpresionesRegularesenJava: https://programacion.net/articulo/expresiones_regulares_en_java_127
  • 5. Universidad de las Fuerzas Armadas Nombre: Francisco Alejandro Vásquez Fierro Fecha: 21 de mayo del 2018 Curso: 2° A NRC: 2183 Carrera: Mecatrónica Realizarunprograma que permitaingresarvaloresde cualquiermanerade lasconocidas yque tengados clases.El programa deberábuscaruna placaingresadadesde el tecladoybuscaren los5 objetos.Si encuentralaplacadeberápresentarel estadodel programa.Tambiéndeberá mostrar el númerode autosde la marca Suzuki.Deberámostrarel porcentaje de autosde la capital y la provincia. package unidad1; import java.util.*; class automovil{ private String placa,marca; private int añofab; public void iniciadatos() { Scanner tec=new Scanner(System.in); System.out.print("Ingrese la placa n");placa=tec.next(); System.out.print("Ingrese la marca n");marca=tec.next(); do{ System.out.print("Ingrese el año de fabricaión n");añofab=tec.nextInt(); }while(añofab<2000 || añofab>2018); } public void mostrarvehiculo(){ System.out.println("Placa: "+placa); System.out.println("Marca: "+marca); System.out.println("Año de fabricación: "+añofab); } public String retplaca() { return placa; } public String retmarca() { return placa; } public int retañofab() {
  • 6. return añofab; } } public class correccionPrueba { public static void main(String[] args) { int b,c; Scanner tec=new Scanner(System.in); System.out.println("Ingrese al objeto 1."); automovil a1=new automovil(); a1.iniciadatos(); System.out.println("Ingrese al objeto 2."); automovil a2=new automovil(); a2.iniciadatos(); System.out.println("Ingrese al objeto 3."); automovil a3=new automovil(); a3.iniciadatos(); System.out.println("Ingrese al objeto 4."); automovil a4=new automovil(); a4.iniciadatos(); System.out.println("Ingrese al objeto 5."); automovil a5=new automovil(); a5.iniciadatos(); System.out.println("Ingrese la placa del auto que desea buscar."); String buscplaca=tec.next(); int a=0; if(a1.retplaca().equalsIgnoreCase(buscplaca)) { System.out.println("La placa "+buscplaca+" pertenece al auto: "); a1.mostrarvehiculo(); a++; } if(a2.retplaca().equalsIgnoreCase(buscplaca)) { System.out.println("La placa "+buscplaca+" pertenece al auto: "); a2.mostrarvehiculo(); a++; } if(a3.retplaca().equalsIgnoreCase(buscplaca)) { System.out.println("La placa "+buscplaca+" pertenece al auto: "); a3.mostrarvehiculo(); a++; }
  • 7. if(a4.retplaca().equalsIgnoreCase(buscplaca)) { System.out.println("La placa "+buscplaca+" pertenece al auto: "); a4.mostrarvehiculo(); a++; } if(a5.retplaca().equalsIgnoreCase(buscplaca)) { System.out.println("La placa "+buscplaca+" pertenece al auto: "); a5.mostrarvehiculo(); a++; } if(a==0) { System.out.println("No existe "+buscplaca+" en los datos."); } String marca="Suzuki"; a=0; if(a1.retmarca().equalsIgnoreCase(marca)) { a++; } if(a2.retmarca().equalsIgnoreCase(marca)) { a++; } if(a3.retmarca().equalsIgnoreCase(marca)) { a++; } if(a4.retmarca().equalsIgnoreCase(marca)) { a++; } if(a5.retmarca().equalsIgnoreCase(marca)) { a++; } if(a!=0) { System.out.println("El numero de autos de la marca Suzuki es "+a); } else { System.out.println("No existe autos de la marca Suzuki."); }
  • 8. a=0; if(a1.retplaca().startsWith("p")) { a++; } if(a2.retplaca().startsWith("p")) { a++; } if(a3.retplaca().startsWith("p")) { a++; } if(a4.retplaca().startsWith("p")) { a++; } if(a5.retplaca().startsWith("p")) { a++; } b=(a*100)/5; System.out.println("El porcentaje de autos de la capital es: ."+b+"%."); c=100-b; System.out.println("El porcentaje de autos de provincia es: "+c+"%."); } }
  • 9. Universidad de las Fuerzas Armadas Nombre: Francisco Alejandro Vásquez Fierro Fecha: 21 de mayo del 2018 Curso: 2° A NRC: 2183 Carrera: Mecatrónica Realizarunprograma con constructorparametrizadoyla clase persona.Que permitaingresar n objetosyrealice lassiguientesactividades. Que indiqueel porcentaje de hombresymujeres, que muestre el estadode lapersonaque tengael númerode cédulabuscadodesde el teclado y sacar el númerode personasque tenganel apellidobuscadodesde el teclado. package unidad1; import java.util.*; class persona{ private String cedula,nombre,apellido,genero; private int edad; public persona(String ce,String nom,String ape,String gen,int ed){ cedula=ce;nombre=nom;apellido=ape;genero=gen;edad=ed; } public void muestradatos(){ System.out.println(""); System.out.println("La cedula es: "+cedula); System.out.println("El nombre es: "+nombre+" "+apellido); System.out.println("El genero es: "+genero); System.out.println("La edad es: "+edad); System.out.println(""); } public String getape(){ return apellido; } public String getgen(){ return genero; } public String getced(){ return cedula; } } public class personaconstructor { public static void main(String[] args) {
  • 10. String ce,nom,ape,gen,apebusc,buscced; int ed,n,i,a=1; Scanner tec=new Scanner(System.in); System.out.println("Ingrese el numero de personas que quiere ingresar."); do { n=tec.nextInt(); if(n<2) { System.out.println("Valor incorrecto, vuelva a ingresar."); } }while(n<2); persona[] per=new persona[n]; for(i=0;i<n;i++) { System.out.println(""); System.out.println("Ingrese datos de la persona "+a); System.out.println("Ingrese la cedula:");ce=tec.next(); System.out.println("Ingrese nombre:"); nom=tec.next(); System.out.println("Ingrese el apellido:");ape=tec.next(); do { System.out.println("Ingrese el genero:"); gen=tec.next(); if(!gen.equalsIgnoreCase("femenino") && !gen.equalsIgnoreCase("masculino")) { System.out.println("Datos erroneos. Debe ingresar masculino o femenino."); } }while(!gen.equalsIgnoreCase("femenino") && !gen.equalsIgnoreCase("masculino")); do{ System.out.println("Ingrese la edad"); ed=tec.nextInt(); if(ed<0) { System.out.println("La edad no puede ser menor a cero."); } }while(ed<0); per[i]=new persona(ce,nom,ape,gen,ed);
  • 11. a++; } //apellido buscado y contar el numero de apellidos System.out.println("Ingrese el apellido que desea buscar."); apebusc=tec.next(); a=0; for(i=0;i<n;i++) { if(apebusc.equalsIgnoreCase(per[i].getape())) { a++; } } if(a!=0) { System.out.println("El numero de personas con el apellido "+apebusc+" es:"+a); } else { System.out.println("No existen personas con ese apellido"); } //sacar el estado de la cedula buscada System.out.println("Ingrese el numero de cédeula que desea buscar."); buscced=tec.next(); a=0; for(i=0;i<n;i++) { if(buscced.equals(per[i].getced())) { System.out.println("La cédula buscada "+buscced+" pertenece a la persona cuyo estado es: "); per[i].muestradatos(); a++; } } if(a==0) { System.out.println("El número de cédula "+buscced+" no existe."); } // porcentaje de generos
  • 12. a=0; float b,c; for(i=0;i<n;i++) { if(per[i].getgen().equalsIgnoreCase("femenino")) { a++; } } b=(a*100)/n; System.out.println("El porcentaje de mujeres es"+b+"%."); c=100-b; System.out.println("El porcentaje de hombres es"+c+"%."); } }