Module: (Java) 带条件的循环语句 - while


Problem

6/21

数字位数

Theory Click to read/hide

让我们尝试编写一个程序来解决以下问题:

您必须输入一个数字(小于3,000,000并确定其中的位数。

解决思路


我们只需要依次从数字中截去最后一位(这可以通过将数字减少 10 次,使用整数除以 10 来完成),每次我们都需要增加计数器。 
这样一来,我们把所有的数字都截掉之后,在计数器中我们就会得到这个数字的位数。
换句话说,该算法可以表述如下:
直到数字不为零,将其减少 10 次并将计数器增加 1。

<头> <正文> 该程序将如下所示。 <前> #include; 使用命名空间标准; 主要的() { intn,计数; 辛>>名词; 计数 = 0; 而(n!= 0) { 计数++; n = n / 10; } 输出 << “数字-” < 你需要牢记这个程序,因为。在此基础上,解决了其他许多与数字计算有关的问题。

Problem

运行程序。 

看看她的工作成果。
输出短语中是否一切正常。
想想如何解决这个问题。
数 (n) 计数器
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!