Что-то не так с проектом galton box приводит к появлению java

#java

#java

Вопрос:

Я написал этот фрагмент кода для имитации galton box для школьного проекта:

«‘ открытый класс GaltonBoxProject {

 public static void main(String[]args){

    //This will keep track of the final positions and will sort them

    int[] finalColumns = {0,0,0,0,0,0,0};

    //will track current pos of the ball

    //8 tiers

    //start from middle of the box

    int randChance;

    for(int a = 0; a < 100; a  ) {

        int currentPos = 3;

        for (int i = 0; i < 9; i  ) {

            //resets the number

            randChance = (int) (Math.random() * 100)   1;

            //if less than 50 go to the left

            //if 0 -->  

            //if 8 --> -

            if(currentPos == 0 amp;amp; randChance > 50) {

                currentPos  ;

            }

            else if (currentPos == 7 amp;amp; randChance <= 50) {

                currentPos--;

            }

            else if(currentPos != 7 amp;amp; currentPos != 0 amp;amp; randChance > 50){

                currentPos  ;

            }

            else if(currentPos != 7 amp;amp; currentPos != 0 amp;amp; randChance < 50){

                currentPos--;

            }

            //If you want to know why I got these results

            //I genuinely can't find the reason why this pattern happens

            //System.out.print(" RAND: "   randChance);

            //System.out.println(" POS: "   currentPos);

        }

        //Also debugging

        //System.out.println(a   " CURRENT POS: "   currentPos);

        //This will sort the numbers

        for(int k = 0; k < 7; k  ){

            if(k == currentPos){

                finalColumns[k]  ;

            }

        }

    }

    //for(int i = 0; i < 8; i   ) {

    //    System.out.println("KEY: "   finalColumns[i]);

    }

    for(int k = 0; k < 7; k  ){

        System.out.print(k   ": ");

        for(int j = 0; j < finalColumns[k]; j  ){

            System.out.print("*");

        }

        System.out.println("");

    }

}
 

»’

Я получаю этот результат:

0: ********

1: ********

2: **********************

3: ***

4: ******************************

5: *****

6: *****************

Я должен получать колоколообразную кривую, и я не знаю, почему код делает это

Комментарии:

1. Ваш код довольно длинный. Необходима ли визуализация в конце? Если нет, просто выведите цифры.

2. Не могли бы вы, пожалуйста, исправить форматирование, чтобы люди могли прочитать ваш вопрос без головной боли? Для начала, между каждой строкой кода не должно быть пустой строки.