Подсчет количества цифр в целом числе - PullRequest
0 голосов
/ 23 мая 2018

Мой код должен запрашивать у пользователя целое число и подсчитывать вхождения каждой цифры в целом числе.Но это ничего не выводит.Пожалуйста, помогите, и вот мой код.

import java.util.Scanner;

    public class NumberCounts {

    public static void main(String [] args) {
         Scanner scan = new Scanner(System.in);

         int arr [] = new int [10];
         int num;
         int outcome;

         System.out.println(" Enter a number: "); 
         num = scan.nextInt();

         while ( num != 0){
             outcome = num % 10;
             arr[num % 10]+=1;
             num /= num;
         }

         for ( int i = 0; i <= arr.length; i++){
             System.out.println(i + " : " + arr[i]);
         }

     }
}

1 Ответ

0 голосов
/ 23 мая 2018

Внутри вашего цикла while вы делите num на себя, а затем присваиваете результат обратно num.Это сделает num равным 1 навсегда.Измените его на

num /= 10;

, который удалит последнюю цифру.

Кроме того, вы уже вычислили последнюю цифру и сохранили результат в outcome.Вы также можете использовать его:

arr[outcome]+=1;

Затем, когда вы попадете в цикл для печати массива, в условии всегда используйте < длину массива, чтобы остановить после обработки последнего индекса length - 1.Это предотвратит появление ArrayIndexOutOfBoundsException, ожидающего показа.

for (int i = 0; i < arr.length; i++){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...