Как использовать значение переменной, которая была рассчитана внутри цикла в Java - PullRequest
0 голосов
/ 14 декабря 2018

`public static int Digits (int n) {

int nbr=0,count=0;

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

}
return count;}`

Извините, если этот вопрос кажется глупым, но я никогда не брал java вне университета, и у меня есть задание.В упражнении предлагается указать, является ли число цифр целого числа меньшим, равным или большим, чем число цифр другого целого, используя метод.Для этого я использовал цикл while в методе, который подсчитывает количество цифр для данного целого числа.

Я знаю, что должен объявить переменную вне цикла, если я хочу использоватьэто вне цикла. Однако, я должен инициализировать его вне цикла, чтобы я мог использовать его внутри цикла.Но я хочу получить значение счетчика после того, как он был вычислен внутри цикла, и я не могу этого сделать, хотя я очень старался и искал ответы, но не нашел ни одного.

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

В этом коде необходимо несколько исправлений / улучшений.

  • Переменная цифр не используется.
  • 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;
        }
0 голосов
/ 14 декабря 2018

Прежде всего вам нужно удалить count = 0 внутри цикла, потому что он всегда будет равен 0. Во-вторых, ваше условие while (nbr! = 0) никогда не выполняется, потому что в объявлении вы устанавливаете его в 0

Ниже функция возвращает количество цифр в номере, переданном в качестве аргумента

public static int Digits(int n)
{
    int count = 0;
    while(n != 0)
    {
        count++;
        n /= 10;
    }
    return count;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...