Java - java resolver ayudaaa

 
Vista:

java resolver ayudaaa

Publicado por lady (1 intervención) el 15/11/2018 02:48:36
Escribir un programa que ingrese un numero entre 0 y 10000, y muestre un mensaje de cuantos dígitos tiene el mismo. Para que el programa se termine, ingresar 0
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

java resolver ayudaaa

Publicado por Billy Joel (875 intervenciones) el 15/11/2018 15:46:59
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Digitos {
 
    public static void main(String[] args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        Integer digito = -1;
        while (digito != 0) {
            try {
                System.out.println("Ingrese un numero entre 0 y 10000: ");
                digito = Integer.parseInt(br.readLine());
                System.out.println("El número " + digito + " tiene " + digito.toString().length() + " digitos");
            } catch (IOException | NumberFormatException ex) {
                System.out.println("Error de lectura\n");
            }
        }
    }
}

Para saber la cantidad de digitos que tiene un número se puede obtener de varias formas. Independientemente si se trata de un número la idea es convertirlo a String y esta clase nos ofrece métodos como length() que nos devuelve el largo o cuantos caracteres tiene la cadena. En el ejemplo de arriba utilizo la clase Integer ya que ésta cuenta con el método toString que devuelve una representación del valor en String.

Otra alternativa sería meter el valor de la captura en un String y luego hacer un Integer.parseInt() para verificar que sea un número
1
2
3
4
5
6
7
8
9
10
11
12
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int digito = -1;
while (digito != 0) {
    try {
        System.out.println("Ingrese un numero entre 0 y 10000: ");
        String linea = br.readLine();
        digito = Integer.parseInt(linea);
        System.out.println("El número " + digito + " tiene " + linea.length() + " digitos");
    } catch (IOException | NumberFormatException ex) {
        System.out.println("Error de lectura\n");
    }
}

Otra que se me ocurre sería sacar un array de caracteres y luego sacar el tamaño del array
1
linea.toCharArray().length

Ya eso es cuestión de ti...

Saludos!!
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