Residente de obra y sus funciones que realiza .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.");
}
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