График гистограммы в Java - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь создать гистограмму, которая выглядит следующим образом:

 1 - 5: ****
 6 - 10: ******
 11 - 15: **
 16 - 20: **********
 21 - 25: ***********
 26 - 31: ********
 31 - 35: ****
 36 - 41: *******
 41 - 45: ************
 46 - 50: *****************

Вот мой код:

public static void graph (int[] arr) {
    for ( int i=0; i <= 50; i+=5) {
        System.out.println(i+" - " + ( i + 4 ) + " :" );
        for ( int num : arr) {
            if ( num >= i && num <= i + 4)
                System.out.print("*");
        }
    }
}

и вот мой вывод:

                         0 - 4 :
                       **5 - 9 :
                        10 - 14 :
                       *15 - 19 :
                        20 - 24 :
                      *25 - 29 :
                       30 - 34 :
                      *35 - 39 :
                       40 - 44 :
                       45 - 49 :
                       50 - 54 :

Нужна помощь в исправлении моего кода.Я пытался понять это уже довольно давно.Также, если кто-то достаточно любезен, пожалуйста, используйте Java-код, который не настолько продвинут.Я хочу понять, что я кодирую, поэтому я предпочитаю, чтобы вы все исправляли мой код, а не кодировали что-то новое.Заранее спасибо.

1 Ответ

0 голосов
/ 01 июня 2018

Попробуйте это:

public static void graph (int[] arr) {

          for ( int i=0; i <= 50; i+=5){
              System.out.print(i+" - " + ( i + 4 ) + " :" );
              for ( int num : arr) {
                  if ( num >= i && num <= i + 4)
                      System.out.print("*");

                  }
                  System.out.println();
              }
}

Вывод: (с int[] array = {1, 3, 3, 6, 8, 9, 15, 20, 50}; в качестве массива)

0 - 4 :***

5 - 9 :***

10 - 14 :

15 - 19 :*

20 - 24 :*

25 - 29 :

30 - 34 :

35 - 39 :

40 - 44 :

45 - 49 :

50 - 54 :*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...