SoloCodigo

Programación General => Java => Mensaje iniciado por: kscius en Miércoles 16 de Septiembre de 2009, 05:44

Título: Contar digitos de un entero
Publicado por: kscius en Miércoles 16 de Septiembre de 2009, 05:44
Hola que tal foreros... pues ahi me viene una duda que me trae dando vueltas......
basicamente tengo que recibir desde el teclado el año que son 2009 (cuatro digitos),
ocupo validar que sean 4 digitos, por ejemplo si alguien se pone mono y ingresa:
234, o pone 99, decirle que deben de ser 4 digitos.... espero aya sido clara la duda ahahhaha muchas gracias por su atencion =).....
lo unico que no entiendo en es como la forma en la que recibo los datos es la siguiente:

        System.out.println("Año: ");
       int anio=TextIO.getInt();
       mes=mes-1;
esto lo mando a una matriz pero quiero poder decirle que sean 4 digitos... como al pedir los meses le digo que son solo 12 con un if basico:

System.out.println("Mes: ");
       mes=TextIO.getInt();
       if(mes>=13){
          System.out.println("El mes no puede ser mayor a 12 (Diciembre) ");
             mes=TextIO.getInt();
       }

es una restriccion parecida

cualquier pista sera de mucha ayuda.. =)

gracias de antemano.. esta fregonsisimo el foro....
Título: Re: Contar digitos de un entero
Publicado por: shadow_rev en Miércoles 16 de Septiembre de 2009, 21:56
Pues si lo obtienes de un string es muy sencillo; nada mas verifica su longitud con String.length() (http://java.sun.com/javase/7/docs/api/java/lang/String.html#length()) y después si lo conviertes a un entero.

:suerte:
Título: Re: Contar digitos de un entero
Publicado por: kscius en Miércoles 16 de Septiembre de 2009, 23:16
gracias amigo... si asi lo hice :

Código: Java
  1.  
  2.         System.out.println("Año: ");
  3.         int anio=TextIO.getInt();
  4.         String aniio=Integer.toString(anio);
  5.         while(aniio.length()>=5){
  6.             System.out.println("El año no puede ser mayo a 4 digitos,");
  7.             System.out.println("Año: ");
  8.             anio=TextIO.getInt();
  9.             aniio=Integer.toString(anio);
  10.         }
  11.  

Muchas gracias...