Java - Una consulta acerca de un diagrama de Java

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Una consulta acerca de un diagrama de Java

Publicado por Jorge (6 intervenciones) el 27/04/2019 04:48:26
Quisiera saber la diferencia entre estos dos diagramas (seleccionado en rojo):

1


2


yo se que en el segundo diagrama, se trata de un arreglo bidimensional.

pero no consigo entender el "String (11)", esto quiere decir un String array de 11 posiciones?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Una consulta acerca de un diagrama de Java

Publicado por Tom (1831 intervenciones) el 27/04/2019 09:04:29
Sí. Se refiere a un String que contendrá 11 caracteres (como máximo o tamaño fijo).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Una consulta acerca de un diagrama de Java

Publicado por Kabuto (1381 intervenciones) el 27/04/2019 13:02:26
Como dice Tom, probablemente eso significa que para ese dato String, se espera que tenga 11 caracteres. No queda claro si los 11 caracteres son un máximo, o si es un tamaño fijo.

Hay datos de los que se espera que tengan una longitud de caracteres determinada para garantizar su "calidad". Es decir, si yo quiero recoger de un usuario por ejemplo su número de la Seguridad Social, me tiene que dar 11 caracteres porque es como se conforma dicho dato.
No me sirven 10 o menos, ni tampoco me sirven 12 o más... han de ser 11.

Cualquier otra longitud distinta de 11 podrá ser cualquier cosa, menos un número de la Seguridad Social. Así que si acepto datos sin que cumplan esa longitud, estoy aceptando datos de "baja calidad", es decir, datos que luego no me van a servir para seguir haciendo computos, porque no serán válidos.


Por otro lado, tú no puedes limitar directamente la longitud de un String. Para cumplir ese requisito tendrás que valerte de un método que compruebe la longitud de ese atributo cuando vaya a ser "seteado" y rechazarlo si no es de 11 caracteres.
Por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
public boolean setCuil(String cuil) {
 
    if (cuil.length() == 11) { //Dato valido
        this.cuil = cuil; //Lo aceptamos
        return true; //Comunicamos que lo hemos aceptado
    }
    else { //No es valido
        this.cuil = null; //Nuestro atributo de clase permanece null mientras no reciba un dato valido
        return false; //Comunicamos que hemos rechazado el dato
    }
}

Este método recibe el dato y si es válido, lo setea y comunica que ha sido aceptado.
De lo contrario, lo rechaza y retorna false para que comunicar al programa desde donde ha sido invocado este método, que el dato no se ha aceptado, y ya el programador decidrá que hacer cuando reciba false, si volver a pedir el dato, si lanzar un mensaje de error al usuario, etc...

O también se puede crear una nueva clase que herede de String y que su constructor solo admita un String de longitud 11.

Son dos formas distintas de hacer lo mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar