Module: (Java) Instrucción de bucle con condición - while


Problem

6/21

dígitos del número

Theory Click to read/hide

Intentemos escribir un programa para resolver el siguiente problema:

Debe ingresar un número (que sea menor a 3,000,000 y determine la cantidad de dígitos que contiene).

Idea de solución


Solo necesitamos cortar secuencialmente el último dígito del número (esto se puede hacer reduciendo el número 10 veces, usando la división de enteros por 10), y cada vez que necesitamos aumentar el contador. 
Como resultado, después de cortar todos los números, en el contador obtendremos la cantidad de dígitos en el número.
De otra manera, el algoritmo se puede formular de la siguiente manera:
HASTA QUE EL NUMERO NO SEA CERO DISMINUYELO 10 veces y AUMENTE EL CONTADOR EN 1.

El programa se verá así. #include<iostream> utilizando el espacio de nombres estándar; principal() { intn, cuenta; cin>> norte; cuenta = 0; mientras (n != 0) { contar++; n = n/10; } cout << "Número-" <<n<< " contiene " << contar << " dígitos";   } Necesitas saber este programa de memoria, porque. sobre esta base, se resuelven muchos otros problemas relacionados con el cálculo de números por dígitos.

Problem

Ejecute el programa. 

Mira el resultado de su trabajo.
¿Está todo bien en la frase de salida?
Piensa en cómo puedes solucionar este problema.
número (n) contador
123 0
12 1
1 2
0 3
1
import java.util.Scanner;  
2


                                                   
3
public class Main  
4
{  
5
    public static void main(String[] args) {  
6
        Scanner in = new Scanner(System.in);  
7
        int n, count;  
8
        n = in.nextInt();  
9
        count = 0;  
10
        while (n != 0)  
11
        {  
12
            count ++;  
13
            n = n / 10;  
14
        }  
15
        System.out.println("Number "+ n+ " contains " + count + " digits");  
16
    }  
17
}  

     

Program check result

To check the solution of the problem, you need to register or log in!