Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Ejercicio DAW cuenta bancaria - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 27 de enero de 2022 por Cristina M.

91 visualizaciones

He hecho algunas modificaciones a las soluciones propuestas en clase.

Descargar la transcripción

Hola a todos, os voy a hacer unas anotaciones o apuntes o añadidos a la corrección que 00:00:01
hicimos en casa de la cuenta bancaria. Son algunas mejoras que yo he pensado que deberían 00:00:10
hacerse. Bien, mi proyecto tiene dos clases. Una es la cuenta bancaria en sí y otra sería 00:00:14
el banco. En cuenta bancaria, que es la que estoy proyectando, he importado dos librerías, 00:00:22
la del MAC y el ArrayList 00:00:30
porque voy a usar cálculos y lista de Array 00:00:32
lo más importante, mi cuenta bancaria 00:00:35
inicialmente en la línea 8 y 9 00:00:38
aquí 00:00:40
tengo dos atributos 00:00:41
que aparte de ser privados 00:00:45
los he marcado con Final 00:00:49
¿qué quiere decir esto? 00:00:50
que son constantes 00:00:52
y solo van a poder ser modificados en el constructor 00:00:53
en este punto 00:00:57
aquí tengo un constructor 00:00:58
cuando creemos la cuenta bancaria 00:00:59
se guarda en el IVA de titular 00:01:02
y luego nunca más pueden modificarse 00:01:03
una decisión que he tomado yo 00:01:06
entonces estos atributos 00:01:08
son privados 00:01:09
que es decir, de fuera no se pueden acceder 00:01:11
se tiene que acceder con el 00:01:14
con el getter y no vais a poder 00:01:16
usar el setter porque están marcados 00:01:18
como final 00:01:20
si yo intentara hacer aquí un 00:01:21
setter 00:01:24
para este atributo 00:01:24
vale, tendría que hacerlo 00:01:26
con public 00:01:33
void 00:01:35
set por ejemplo 00:01:36
iván 00:01:39
y recibiría 00:01:41
iván es un string 00:01:44
mientras escribo me pauso 00:01:47
bien 00:01:51
he escrito el método 00:01:53
que simplemente 00:01:55
es un set que recibe 00:01:57
un argumento que le llamo iván 00:01:58
e intento hacer un dis.ivan igual a lo recibido 00:02:01
y fijaros que me aparece una marca, un error 00:02:05
y me dice que no se puede asignar un valor a una variable final 00:02:07
porque si eso está establecido como que es el valor final y no cambia 00:02:12
así que lo quito 00:02:15
y ya hemos visto que estas dos primeras variables son final 00:02:16
porque no quiero que puedan modificarse 00:02:22
luego tengo dos atributos normales corrientes 00:02:24
marcados como private 00:02:28
entonces sólo pueden modificarse con el setter. Y luego he creado, que está aquí la diferencia, 00:02:30
he creado tres constantes, las llamo constantes de clase, porque están marcadas como static y final. 00:02:39
Static quiere decir que no son de un objeto en concreto, sino de toda la clase. Todos los objetos 00:02:46
van a conocer esta variable, la pueden utilizar, pero no es de cada uno. Y la he marcado como final 00:02:53
de tal manera que no pueden modificarse, igual que los otros atributos. 00:02:59
Tengo movimientos máximos, saldo mínimo y avisar a Hacienda. 00:03:04
Y he establecido los valores en 100, menos 50 y 3.000. 00:03:08
De esta manera, cuando posteriormente en los métodos queramos usar estos valores como límite, 00:03:11
no vamos a poner los números, vamos a poner el valor del atributo. 00:03:19
Voy con el primer constructor, con el primer método y luego vemos los valores en nuestros métodos. 00:03:24
El constructor cuenta bancaria, guardo el IVAN y el titular, que son los únicos que recibe. 00:03:31
Inicialmente el saldo lo pone a cero y los movimientos, que por cierto no lo he dicho, están aquí, se lo he dicho, pero es un ArrayList. 00:03:37
Entonces el ArrayList inicialmente lo crea, así que lo va a crear a cero. 00:03:46
Ahora, aquí vienen los métodos estáticos que me parecen muy interesantes. 00:03:52
He creado dos métodos estáticos. 00:03:57
¿Eso qué quiere decir? Lo mismo que en las variables que estaban antes. 00:03:59
Estas tres variables que van de la 16 a la 18 son estáticas, 00:04:03
y he dicho que no son de un objeto en concreto, sino de toda la clase. 00:04:06
Así que todos los objetos las pueden utilizar, pero son de la clase. 00:04:11
Pues ocurre lo mismo con estos dos métodos. 00:04:15
están marcados como estáticos en la línea 36 y la línea 40 00:04:17
y eso quiere decir que no se van a instanciar para cada clase 00:04:22
y que los podéis utilizar sin haber creado un objeto 00:04:27
son unos métodos que ofrece la clase 00:04:30
no sé si irme a la cuenta, no, sigo con la cuenta 00:04:33
o sea, irme al banco o seguir con la cuenta 00:04:40
el resto de métodos que tengo aquí 00:04:42
tengo los getter del IVAN titulado saldo y movimiento 00:04:44
que lo único que hacen es devolverlos 00:04:49
y luego tengo un método para ingresar 00:04:51
y un método para retirar 00:04:55
estos métodos ya venían de la solución del otro profe 00:04:57
lo único que hacen, lo que él propone es que si la cantidad 00:05:00
es menor o igual que cero, devuelvas un false 00:05:03
y si no es menor que cero, que quieren que siempre 00:05:06
el usuario meta mayor que cero, introduzca un número mayor que cero 00:05:09
llama a operar y llama a operar con la cantidad en positivo o en negativo 00:05:12
operar con positivo y operar con negativo 00:05:18
y aquí tenéis la operar 00:05:21
operar devuelve un boolean porque va a devolver true si todo fue bien 00:05:23
y false si algo fue mal y no se pudo operar 00:05:29
lo mismo que retirar e ingresar 00:05:32
entonces cuando retirar e ingresar llaman a operar 00:05:35
cuando operar les devuelve el control, devuelven el mismo valor que ha devuelto operar. 00:05:38
Así que si operar dice que no se pudo operar, retirar va a devolver lo mismo que operar 00:05:44
e ingresar va a devolver lo mismo que operar, tanto si es true como si es false. 00:05:49
Voy a operar. 00:05:53
La idea de operar es que no puedo llegar a un saldo inferior a saldo mínimo 00:05:55
y que no puedo registrar más de los máximos movimientos que se hayan indicado al principio. 00:05:59
por ahora me habían dicho que por ponerlo fácil 00:06:06
los máximos movimientos eran 00:06:09
aquí, 100 00:06:11
si yo en algún momento lo quiero cambiar 00:06:13
lo cambio aquí arriba y el método 00:06:15
no lo va a saber, simplemente va a usar 00:06:17
aquí 00:06:19
vale 00:06:21
aquí 00:06:25
solo va a usar máximos movimientos 00:06:26
voy a ir viendo el método por orden 00:06:28
lo primero que hace 00:06:31
es comprobar que no nos pasamos 00:06:33
del saldo mínimo 00:06:35
el saldo mínimo está indicado arriba y son 50 00:06:36
igual que indicado en máximos movimientos 100 00:06:39
entonces, perdón, menos 50 00:06:41
si el saldo que yo tengo ahora mismo en mi cuenta 00:06:44
más la cantidad que me llega, que puede ser positiva o negativa 00:06:48
si es positiva no va a importar 00:06:51
pero si es negativa se la va a restar a saldo 00:06:52
y vamos a ver si es menor que el saldo mínimo 00:06:55
entonces si sucede que el saldo más la cantidad es menor que el saldo mínimo 00:06:57
entonces imprimo por la consola 00:07:04
de error, que esta hora no la habéis visto 00:07:06
o no la hemos recordado 00:07:08
el system error es una salida 00:07:09
de errores, si sale 00:07:12
a gustos en el NetBeans o sale por el mismo 00:07:13
canal, abajo 00:07:16
ahora lo veremos, pero puede salir 00:07:18
por un canal diferente dependiendo 00:07:20
de la configuración que tengamos 00:07:21
por resumir, entonces imprimo 00:07:23
por la consola de errores que no se puede retirar 00:07:26
ese importe 00:07:28
y luego si 00:07:29
si puedo hacerla 00:07:31
y el programa terminaría, haría un return false 00:07:33
y me iría, entonces si estoy en este punto 00:07:36
es que yo puedo operar 00:07:38
así que al saldo 00:07:40
le sumo lo que más igual 00:07:41
le sumo lo que hubiera en saldo más la cantidad 00:07:43
y voy a añadir 00:07:46
los movimientos por el final 00:07:48
yo como ArrayList hago movimientos.add 00:07:49
la cantidad y lo añade al final 00:07:52
en este momento yo voy a mirar 00:07:54
aquí si me he pasado el máximo 00:07:56
de movimientos al meter este nuevo 00:07:58
movimiento, si yo tengo más de 100 00:08:00
o sea, 101, elimino 00:08:02
el movimiento más antiguo, que yo sé que es el que 00:08:04
está en la posición 0, así que yo hago 00:08:06
movimientos de move 0 00:08:08
y con eso elimino el que me sobraba 00:08:10
si no, no tengo que hacer nada 00:08:12
y luego tengo en cuenta los avisos 00:08:13
si el saldo 00:08:16
es menor que 0 00:08:18
imprime un aviso de saldo 00:08:20
negativo, que yo creo que no estaba en el 00:08:22
enunciado, un momento que paro y lo miro 00:08:24
bien, he puesto el enunciado 00:08:28
y he estado recordando lo que pedía 00:08:30
para ver si realmente 00:08:32
la solución propuesta por el otro profe 00:08:34
y lo que yo había leído tiene sentido 00:08:36
fijaros, en la clase cuenta bancaria 00:08:38
que es la que estamos 00:08:42
dice una cuenta bancaria 00:08:43
datos asociados, titular, saldo y demás 00:08:45
en la cuenta 00:08:49
100 números para simplificar 00:08:50
100 movimientos, vale, cuando se crea la cuenta 00:08:52
es obligatorio que tenga un IVAN y un titular 00:08:54
que no podrán cambiar 00:08:56
nunca, entonces para que no puedan 00:08:58
cambiar nunca, lo que tenéis que hacer es lo que he dicho yo, convertirlo en final. 00:09:00
Lo voy a poner aquí a la derecha, este aquí, a la izquierda, y os lo voy a enseñar de 00:09:05
nuevo. Aquí está. Entonces, para que no puedan cambiar, estos atributos están marcados 00:09:14
como final. Luego, sigue diciendo, el saldo es de 0 euros y la cuenta no tendrá movimientos. 00:09:20
Entonces, cuando yo lo creo, el saldo en la línea 29 es 0 y la cuenta con movimientos vacíos. 00:09:28
Ahora, esto me resulta interesante mientras leía. 00:09:34
El saldo solo puede valiar cuando se produce un ingreso o una retirada. 00:09:36
Si os dais cuenta, en la clase cuenta no hay setter. 00:09:41
No se puede modificar el, primero, el IVA en el titular no se puede, 00:09:48
como ya he explicado antes porque está como final, pero no hay setter para el saldo. 00:09:53
de esa manera 00:09:57
prohíbes que alguien modifique el saldo 00:09:59
solo se modifica el saldo 00:10:02
cuando entramos en el operar 00:10:03
ingresos y retiradas 00:10:06
solo pueden ser valores superiores a cero 00:10:11
por eso el propio que ha hecho la solución 00:10:13
da error cuando imprimes 00:10:15
cuando introduce otro usuario 00:10:17
o sea, otro número del usuario 00:10:19
menos de cero 00:10:21
y luego el saldo de la cuenta a menos 50 00:10:22
y aquí está el mensaje que yo estaba buscando 00:10:26
si se produce un movimiento que deje la cuenta con un saldo negativo 00:10:29
no inferior a menos 50, o sea entre 0 y menos 50 00:10:32
habrá que mostrar el mensaje 00:10:36
aviso saldo negativo 00:10:37
entonces aquí, si el saldo es menor que 0 00:10:40
entonces aviso saldo negativo 00:10:44
y luego, si el valor absoluto 00:10:46
para eso importamos la librería mat 00:10:50
si el valor absoluto de la cantidad que ha introducido el usuario es mayor de 00:10:54
avisar a hacienda que decir si alguien quiere sacar algo menos de tres mil 00:11:00
euros o sea un importe una retirada superior a tres mil euros también se 00:11:04
avisaría hacienda y fijaros que se imprime ese mensaje por notificar a 00:11:08
hacienda y en este caso cuando voy termino cuando yo aquí lo que tengo que 00:11:13
hacer es un retur tú porque eso quiere decir que todo ha ido bien el retur 00:11:18
Retour false solo lo hago aquí, cuando intento sacar dinero que supera por debajo el saldo 00:11:22
mínimo. 00:11:33
Aquí hago un retour false. 00:11:34
Con eso hemos visto cómo funciona el operar. 00:11:35
Le devuelvo un boolean, lo que he dicho, de false o true se ha podido operar. 00:11:38
tengo una función que realmente no me gusta porque dice que no debería sacar nada por 00:11:45
pantalla y está imprimiendo los datos por pantalla. Lo lógico hubiera sido que en vez 00:11:58
de hacer estas funciones lo imprimiera en la cuenta bancaria, perdón, lo imprimiera 00:12:05
en el banco, que es lo que he hecho yo. Pero las he dejado aquí porque me parece que está 00:12:10
bien hecho el hecho que fijaros tiene una función que es imprimir que imprime 00:12:14
tanto los datos como los movimientos entonces tiene dos subfunciones o dos 00:12:18
métodos que imprimen los datos e imprime los movimientos con esto termina la 00:12:24
cuenta bancaria me voy al banco este es el banco 00:12:29
utiliza el escáner fijaros que la anterior no utilizaba el escáner y el 00:12:35
de Railis. Esta es una versión que he cambiado yo respecto al que tenía originalmente. Tengo 00:12:39
aquí un punto, estoy haciendo pruebas. Lo primero que hace es crear el scanner y dos 00:12:45
variables, una para guardar el IBAN y la titular. Y simplemente hago un do while mientras el 00:12:52
valor que me está introduciendo el usuario no sea válido. Entonces le pido que me introduzca 00:12:59
al IBAN y guardo 00:13:05
en el IBAN lo que introduzca 00:13:07
por el escáner en NextLine 00:13:09
ahora que hago un while en el que 00:13:10
la condición es que estoy llamando 00:13:13
a cuenta bancaria 00:13:15
a la clase cuenta bancaria 00:13:16
al método es válido IBAN 00:13:18
con el valor IBAN que me ha dado 00:13:21
el usuario 00:13:23
si os dais cuenta no he creado un objeto 00:13:24
estoy llamando a la clase y le estoy 00:13:26
negando lo que me responda 00:13:28
porque cuenta bancaria es válido IBAN 00:13:31
devuelve true 00:13:33
si es válido y false si no es válido 00:13:34
y yo mientras no sea válido 00:13:37
así que por eso le pongo la negación 00:13:39
mientras no sea válido 00:13:41
sigo dando vueltas aquí 00:13:43
hasta que el usuario me introduce un IVAN 00:13:44
correcto y aquí hago lo mismo 00:13:47
para introducir 00:13:49
el titular de la cuenta 00:13:51
y mientras me 00:13:53
me introduzca 00:13:54
un titular que no 00:13:57
es válido, por eso lo niego 00:13:59
voy muy acelerada 00:14:01
voy a seguir dando vueltas 00:14:03
entonces 00:14:05
mientras no sea válido me pide 00:14:06
el IVAN y el titular 00:14:08
y luego ya sí 00:14:10
creo la cuenta 00:14:13
porque en el enunciado me decía que no creara la cuenta 00:14:14
hasta que no fuera válido 00:14:16
tengo una opción 00:14:18
y una 00:14:21
cantidad 00:14:22
no he creado una función 00:14:24
para el menú 00:14:26
simplemente hace un do 00:14:27
imprime las opciones 00:14:30
y lee el teclado la opción 00:14:31
y en el caso de que la opción sea la 1 00:14:34
imprime los datos 00:14:38
y en el caso de que sea 2, 3 o 4 00:14:39
simplemente pone IVAN, titular, saldo y el valor 00:14:43
esto creo que es lo que habría que haber hecho 00:14:47
porque no me gusta, no cumple esto 00:14:50
lo que he dicho, la función imprimir datos 00:14:53
no cumple esta condición del enunciado 00:14:56
que dice la única salida por pantalla 00:15:01
son los dos mensajes permitidos 00:15:04
para la clase cuenta bancaria 00:15:07
entonces a mí esta función en primeros datos no me gusta 00:15:08
entonces en los siguientes 00:15:11
en el 2, en el 3 y en el 4 00:15:14
lo hago yo directamente 00:15:15
con cuenta Gettivan y con cuenta Gettitular 00:15:17
que es lo que debería haberse hecho en esta primera opción 00:15:20
y lo mismo para Gettzaldo 00:15:22
vale, fijaros aquí 00:15:24
lo que ocurre cuando elijo la opción 5 00:15:26
ingreso 00:15:28
Le digo, inserte la cantidad de ingresar, lee un doble y llama al objeto cuenta y al método ingresar. 00:15:29
Entonces, eso devuelve un true o un false. 00:15:42
Entonces, si ha ido bien, el usuario, o sea, perdón, la cuenta va, el gestor del banco, el Dow Bank, escribe ingreso OK. 00:15:44
En otro caso, escribe ingreso de error. 00:15:52
Luego tenemos lo mismo para cuenta retirar. 00:15:55
hace exactamente lo mismo 00:15:59
simplemente cuenta.retirar 00:16:01
y el valor 00:16:04
y en el caso 7 00:16:05
que lo he modificado 00:16:08
que esta es mi solución 00:16:09
tengo una variable 00:16:11
movimientos donde guarda 00:16:15
un ArrayList 00:16:17
y le pido los movimientos 00:16:17
de la cuenta bancaria 00:16:20
y simplemente 00:16:22
hace una 00:16:24
iteración de todos esos movimientos 00:16:26
no he utilizado un iterador 00:16:29
simplemente me he ido moviendo 00:16:30
con un index 00:16:31
un i y me he ido moviendo del 0 00:16:34
hasta el tamaño del array list 00:16:37
y para cada movimiento 00:16:39
simplemente escribo el número, la posición del movimiento 00:16:40
y le pido 00:16:43
el valor del movimiento 00:16:45
con movimientos.get 00:16:46
porque es un array 00:16:48
y luego ya, gracias por usar la aplicación 00:16:52
vale, vamos a probarlo 00:16:54
Yo voy a introducir un IBAN que no es válido, que tiene por ejemplo un 5, dos letras y 22 00:16:55
números. Entonces me vuelve a decir introduzca un número iban válido. Así hasta que le vuelvo a poner 00:17:28
luego corto también me dice que no. Si solo tuviera números, 222 números, también me dice que no. Así que ya os enseño las expresiones regulares. 00:17:35
Me he pasado, que estoy aquí como una loca. Ahí. Vale, el titular, si le metiera números, no le parece bien. 00:17:56
Y ahora mismo, si yo imprimo el dato de la cuenta funciona, me dice quién es el IVAN, el titular y el saldo. 00:18:05
El IVAN funciona, el titular también y el saldo ahora mismo es cero. 00:18:15
Y los movimientos ahora mismo son cero. 00:18:22
Si yo elijo retirar un número negativo, el siguiente sería un ingreso, la opción 5, ingreso. 00:18:25
si yo le pongo un número negativo 00:18:35
me va a decir que no 00:18:38
me ha dicho error 00:18:39
así que voy a volver a probar ingreso 00:18:41
voy a ingresar 00:18:43
3.001 euros 00:18:45
me dice notificar a Hacienda 00:18:49
si yo ahora enseño el saldo 00:18:52
efectivamente 00:18:54
tengo los 3.001 euros 00:18:56
voy a probar con una retirada 00:18:57
si yo intento 00:19:00
retirar más de 3.000 euros 00:19:02
3001 00:19:04
me ha dicho 00:19:05
retirada ok 00:19:08
y ha dicho notificar a Hacienda 00:19:10
si yo ahora le enseño el saldo 00:19:12
mi saldo es 0 00:19:13
por eso no me ha dado un error de que sea 00:19:15
negativo 00:19:17
ni que me haya pasado del menos 50 00:19:19
voy a hacer una retirada 00:19:21
entonces me dice que ha podido retirar 00:19:26
pero me avisa que ha habido un saldo 00:19:29
negativo 00:19:31
Y ahora voy a seguir retirando 00:19:32
Y voy a tirar 10 00:19:35
Y entonces me dice que no puedo retirarse 00:19:38
Por superar el saldo mínimo 00:19:42
Menos 50 00:19:43
Y si ahora os enseño mis movimientos 00:19:44
Pues tengo el de 3.001 00:19:46
El de 3.001 de retirada 00:19:48
Y el de 45 retirada 00:19:50
Y mi saldo 00:19:53
Ahora mismo estoy en menos 45 00:19:54
Y si doy salir 00:19:57
¿Qué quería enseñaros? 00:19:58
La cuenta bancaria, los patrones o expresiones regulares. 00:20:03
Voy a hacer más pequeño esto. 00:20:07
Cuenta bancaria. 00:20:10
Hay uno que no he explicado suficiente, que son estos dos, los patrones regulares. 00:20:16
He dicho que eran estáticas y por lo tanto los he podido usar sin tener un objeto, 00:20:22
antes de crear el objeto cuenta, y que devuelven un boolean, 00:20:26
y que me dicen si es válido el IVAN o no, y que reciben un string. 00:20:30
Las dos funcionan igual. 00:20:33
Ahora, ¿cómo funcionan? 00:20:34
Yo voy a decir las clases. 00:20:40
Cuando tengo una variable de tipo string, tiene un método que se llama matches. 00:20:43
Entonces yo llamo a la variable punto y a su método matches y le doy una expresión regular, 00:20:49
que es una colección o es un string en la que estoy indicando qué me voy a encontrar. 00:20:55
Las expresiones regulares se pueden buscar por internet cómo funcionan 00:21:01
y tengo preparadas tres páginas en las que hay expresiones regulares. 00:21:05
Esta está muy bien explicada. 00:21:10
Os hablo de las expresiones regulares y aquí vienen las expresiones más típicas. 00:21:13
La primera que he usado yo es este símbolo, este sombrero, buscaré cómo se llama. 00:21:20
entonces cuando se le pone por delante una expresión regular quiere decir que la expresión regular debería estar al principio de la línea 00:21:26
y luego en cambio si está dentro de unos corchetes y varios caracteres 00:21:33
querría decir que tiene que ser cualquier carácter excepto el A o el B o el C que están dentro de los corchetes 00:21:40
el que yo estoy eligiendo fuera de corchetes está al principio 00:21:50
Así que en mi NetBeans, aquí, lo que estoy diciendo es que lo que viene después, todo esto, tiene que estar al principio de la expresión regular. 00:21:54
Por eso, al principio, cuando le he indicado que quería poner un titular que empezaba con números y luego tenía un número correcto, 00:22:05
este, a ver si lo encuentro, lo estoy buscando, aquí, este titular. 00:22:16
este titular que he marcado, que ahora veis 00:22:26
tiene un 5 por delante 00:22:29
pero luego el número es correcto 00:22:31
pero no me valida el IVAN 00:22:32
porque empieza con un 5 00:22:35
que no forma parte del patrón 00:22:37
entonces mi patrón es 00:22:38
que vengan dos letras 00:22:40
o sea, entre corchetes 00:22:43
o una letra de la A a la Z 00:22:45
minúscula o una letra de la A a la Z 00:22:47
mayúscula y eso se repite 00:22:49
dos veces, entre llaves 00:22:51
me indica el número de ocurrencias de lo que viene antes 00:22:53
entonces esto 00:22:55
se repite dos veces 00:22:56
luego vienen dígitos 00:22:58
los dígitos se ponen con barra D 00:23:00
pero para que Java no distinga la barra 00:23:02
o sea, no reconozca la barra como un carácter 00:23:05
se pone el carácter de escape 00:23:07
que es la barra dos veces 00:23:08
entonces barra, barra, D 00:23:10
me está diciendo que quiero un dígito 00:23:11
no una barra, sino un dígito 00:23:13
vuelvo aquí para que lo veáis 00:23:16
me viene el que he dicho 00:23:18
luego entre corchetes las opciones 00:23:21
aquí iría de la A a la D y del 1 al 7 00:23:24
y aquí tenemos cualquier dígito 00:23:27
del 0 al 9 00:23:32
y como le he puesto entre llaves 00:23:35
muy cerca, estoy hablando demasiado 00:23:41
como le he puesto entre llaves 22 00:23:43
estoy diciendo que quiero un dígito 22 veces 00:23:47
así que tengo al principio de la línea dos letras 00:23:50
y luego 22 dígitos 00:23:54
y no debería venir nada más 00:23:56
no sé si a lo mejor se me ha colado 00:23:58
poner 00:24:00
algo para limitarlo 00:24:01
y luego el titular 00:24:04
funciona muy parecido, tengo 00:24:06
una letra 00:24:08
mínimo una o más 00:24:09
letras y luego puedo 00:24:12
tener aparte 00:24:14
esto es una letra 00:24:16
y luego puedo tener 00:24:18
todas las letras y espacios que yo 00:24:20
que yo quiera 00:24:22
era una manera de asegurarme que al principio venían letras 00:24:24
por eso no me ha dejado introducir un número 00:24:26
estos son patrones regulares 00:24:29
aquí estoy viendo en una de las páginas 00:24:31
por ejemplo el más quiere decir 00:24:35
que ocurre una o más veces 00:24:38
entre llaves lo que he explicado 00:24:41
el número de veces que se repite la expresión anterior 00:24:44
por ejemplo aquí viene que quiero un dígito tres veces 00:24:47
Y insisto en que la doble barra es porque antes vienen otros caracteres y tiene que diferenciar entre la barra y los... 00:24:51
O sea, que quieres una barra o que quieres un dígito que tiene realmente la barra. Por eso se ponen dos. 00:25:00
Bien, aquí vienen diferentes ejemplos. También lo tenéis, por ejemplo, en V3Schools. 00:25:06
Vienen las expresiones regulares, regular expressions, y explica lo mismo para qué vale cada uno de los caracteres. 00:25:13
lo que he dicho el pequeño sombrero es al principio y el dólar es lo mismo para el 00:25:20
final barra de paradígito barra s para espacio y más cosas y lo mismo lo tenéis en la página 00:25:26
de java entonces este para la versión 7 pero ahora igual no ha cambiado fijaros la cantidad 00:25:36
de expresiones regulares que hay no tenéis que recordarlas sino saber utilizarlas y vuelvo a 00:25:42
que yo he usado. Al principio, cualquier tipo de letra, minúscula o mayúscula, son dos letras y 00:25:50
luego 22 dígitos. Y creo que ya no tengo nada más que decir. Lo más importante para mí de este 00:26:00
ejercicio es que tengo constantes estáticas para todos los objetos que son de la clase. 00:26:08
static quiere decir que es de la clase 00:26:17
y final que no se puede modificar 00:26:19
que también tengo 00:26:21
otros atributos que son 00:26:23
solo final para que no los pueda 00:26:26
modificar cada uno de los objetos 00:26:27
y que tengo dos métodos 00:26:29
estos, que son estáticos 00:26:31
quiere decir que no son de los objetos 00:26:34
no se instancian, sino que son de la clase 00:26:35
menudo rollo 00:26:39
hasta luego 00:26:40
Valoración:
  • 1
  • 2
  • 3
  • 4
  • 5
Eres el primero. Inicia sesión para valorar el vídeo.
Autor/es:
Cristina Moreno Ruiz
Subido por:
Cristina M.
Licencia:
Reconocimiento - Compartir igual
Visualizaciones:
91
Fecha:
27 de enero de 2022 - 14:35
Visibilidad:
Público
Centro:
IES LOPE DE VEGA
Duración:
26′ 45″
Relación de aspecto:
1.78:1
Resolución:
1148x646 píxeles
Tamaño:
68.82 MBytes

Del mismo autor…

Ver más del mismo autor

Comentarios

Para publicar comentarios debes entrar con tu nombre de usuario de EducaMadrid.

Comentarios

Este vídeo todavía no tiene comentarios. Sé el primero en comentar.



EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid