java小程序——豆机

未检验 槽数和球数 的有效性

import java.util.Scanner;;
public class douji {
    public static void main(String[] args) {        
        Scanner input = new Scanner(System.in);
        System.out.println("请输入球的个数:");
        int numBall = input.nextInt();
        System.out.println("请输入机器槽数:");
        int numRoom = input.nextInt();
        int[] slots = new int[numRoom]; 

        for(int i = 0; i < numBall; i++)
        run(slots);

        int max = max(slots);

        display(max, slots);
    }

    /*球的路径*/
    public static void run(int[] slots) {
        char i = Math.random() >= 0.5 ? 'R' : 'L';
        String s = "";
        int num = 0;
        for (int n = 0; n < slots.length - 1; n++) {
            i = Math.random() >= 0.5 ? 'R' : 'L'; 
            s = s + i;
            if(i == 'R')
                num++;
        }
        System.out.println(s);
        slots[num]++;
    }

    /*槽里最多多少个球*/
    public static int max(int[] slots) {
        int max = 0;
        for(int i = 0; i < slots.length; i++) {
            if(slots[i] > max)
                max = slots[i];
        }
        return max;
    }

    /*打印条形图*/
    public static void display(int max, int[] slots) {
        for(int i = max; i > 0; i--) {
            for(int k = 0; k < slots.length; k++) {
                if(slots[k] == i) {
                    System.out.print("| o ");
                    slots[k]--;
                }
                else
                    System.out.print("|   ");
            }
            System.out.print("|");
            System.out.println("");
        }
    }
}

版权声明:本文为JeffChang0326原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。