豆机游戏

【题目要求】
在这里插入图片描述
【题目分析】
球的个数为路径个数
槽子数=层数+1
给槽子从0开始编号,小球下落过程中走R的次数即为落到的槽子编号。如 RLRL,两次R,小球落到2号槽子。具体如下图所示:
在这里插入图片描述
【代码实现】


class Class32{

    public static void main(String[] args){

        //1.提示用户输入球的个数

        Scanner scanner=new Scanner(System.in);

        System.out.print("Enter the number of balls to drop:");

        int balls=scanner.nextInt();//路径的个数

        //2.提示用户输入槽子的个数

        System.out.print("Enter the number of slots in the bean machine:");

        int slots=scanner.nextInt();//经过的层数(slots-1)

        //3.模拟槽子创建的一个数组

        int[] a=new int[slots];

        //4.根据球的个数创建路径

        for(int i=0;i<balls;i++){

            String path="";

            for(int j=0;j<slots-1;j++){

                path+=Math.random()>0.5?"L":"R";

            }
            //System.out.println(path);
            //LLRR
            a[getLocation(path)]++;

        }
        //5.打印槽子当中球的情况

        for(int i=0;i<a.length;i++){

            System.out.print("slots"+i+":");

            for(int j=0;j<a[i];j++){

                System.out.print("O");

            }
            
            System.out.println();
        }
    }
    public static int getLocation(String path){

        int count=0;

        for(int i=0;i<path.length();i++){

            if(path.charAt(i)=='R'){
                
                count++;
            }
        }
        return count;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值