如何使用在Java循环中计算出的变量的值

时间:2018-12-14 10:06:40

标签: java loops

`     public static int Digits(int n){

int nbr=0,count=0;

while (nbr!=0){
nbr= nbr/10;
count++;

}
return count;}`

很抱歉,这个问题看起来很愚蠢,但是我从未在大学以外的任何大学学习过Java,而且还有一项作业。练习要求使用方法说明一个整数的位数小于,等于还是大于另一个整数的位数。为此,我在方法中使用了while循环,该循环告诉我给定整数的位数。

我知道如果要在循环外使用它必须在循环外声明一个变量,但是我必须在循环外初始化它才能在循环内使用它。但是我想要在循环内计算完计数后的值,尽管我尽力尝试并寻找答案,但没有找到答案,但我无法做到这一点。

2 个答案:

答案 0 :(得分:1)

首先,您需要在循环内删除count = 0,因为它始终为0。第二件事是,您的while条件(nbr! = 0)永远都不为真,因为在声明中将其设置为0

下面的函数返回作为参数传递的数字位数

public static int Digits(int n)
{
    int count = 0;
    while(n != 0)
    {
        count++;
        n /= 10;
    }
    return count;
}

答案 1 :(得分:0)

此代码中需要进行一些修复/改进。

  • 未使用数字变量。
  • nbr始终为0,并且未分配n的值。
  • 在每次迭代中,计数都重置为0。
  • 它不考虑0,它是一个长度的数字。


      public static int countOfDigits(int n) {
            if (n == 0) {
                return 1;
            }
            int count = 0;
            while (n != 0) {
                n = n / 10;
                count++;
            }
            return count;
        }