Java - duda de validación

 
Vista:
sin imagen de perfil
Val: 52
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

duda de validación

Publicado por rodic (35 intervenciones) el 20/01/2018 19:18:53
Hola a todos!

Estoy creando un método para validad un dato long, la duda que tengo es que el dato introducido lo hago desde la clase principal, y el método lo tengo en otra clase, ¿Como hago referencia en el método a la variable introducida por teclado de la clase principal?
¿Como se haría correctamente el método para validar tal dato introducido?

Gracias!
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
sin imagen de perfil
Val: 52
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

duda de validación

Publicado por rodic (35 intervenciones) el 20/01/2018 20:42:05
Este es concretamente el código del método:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static void validarImei(long imeiL){
 
    System.out.println("Introduce IMEI: ");
    long vImeiL = entrada.nextLong();
    int longitud = vIimeiL.length();
 
    try{
	    if(longitud!=15){
	        System.out.println("Numero incorrecto\n");
	    }
	    else{
	        System.out.println("Numero correcto\n");
	    }
    }catch(UnsupportedOperationException e){
 
    }
 
}

Finalmente lo que he hecho es crear la entrada del dato desde la misma clase y evitar ese problema, pero me surgen otros:

como se puede ver, la entrada del método es de tipo long. Ponga el modificador que ponga a la variable vImeiL me da algún error, me estoy liando mucho con los modificadores...no se que estoy haciendo mal. el atributo imeiL lo tengo declarado como private static en esta misma clase.
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

duda de validación

Publicado por ramon (6 intervenciones) el 20/01/2018 22:04:36
Yo veo dos cosas para comentarte:
1.- Declaras el parámetro imeiL en el método y no lo utilizas en ninguna parte.
2.- El problema no está en la variable vImeiL si no en la asignación de la variable longitud. El tipo de datos long no tiene el método length(). En vez de nextLong() utiliza nextLine() y obtienes un String del cual si puedes calcular su longitud, que parece ser que es lo que te interesa validar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 52
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

duda de validación

Publicado por rodic (35 intervenciones) el 23/01/2018 21:17:39
Muchas gracias ramón,

tengo otra duda, en el método de validación estoy estableciendo el valor de cada atributo con set:

Ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public void validarNumero(){
    System.out.println("Introduce Número de telefono: ");
    String vNumero = entrada.nextLine();
    int longitudNumero = vNumero.length();
 
    try{
        if(longitudNumero!=9){
            System.out.println("Numero incorrecto, el número debe ser de 9 digitos\n");
        }
        else{
            System.out.println("Numero correcto\n");
            //Establezco el valor:
            setNumTelefono(Integer.parseInt(vNumero));
        }
    }catch(UnsupportedOperationException e){
 
    }
 
}

EL método validarNumero() no lo tengo en la clase principal, lo que hago es llamar al método desde la clase principal:

1
2
3
Movil movil = new Movil();
//Clase Scanner para entrada de datos:
movil.validarNumero();

Lo que quiero es desde la clase principal aplicar el método toString, ¿como lo haría?

Gracias
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