***6.21-豆机 梅花瓶 高尔顿瓶

问题及代码:
/*   
*Copyright (c)2015,烟台大学计算机与控制工程学院   
*All rights reserved.   
*文件名称:Slots.java   
*作    者:单昕昕   
*完成日期:2015年10月10日   
*版 本 号:v1.0   
*   
*问题描述:游戏:模拟豆机/梅花瓶/高尔顿瓶。
*程序输入:球的个数、机器的槽数。
*程序输出:球的路径、槽中球的储备情况。  
*/ 
import java.util.*;
import java.util.Scanner;
public class Test
{
    public static void main(String[] args)
    {
        int ball,slot,n,i,j,t,cnt;
        Scanner input=new Scanner(System.in);
        System.out.print("Enter the number of balls to drop:");
        ball =input.nextInt();//输入球的个数
        System.out.print("Enter the number of slots to drop:");
        slot =input.nextInt();//输入槽的个数
        int[]slots=new int[slot];//槽中球的个数
        String []dirction= {"L","R"};//球的方向
        Random random = new Random();
        for(i=0; i<ball; ++i)
        {
            cnt=0;
            for(j=0; j<slot; ++j)
            {
                t=Math.abs(random.nextInt())%2;//产生随机方向
                if(t==1)
                    ++cnt;//计算R的个数
                System.out.print(dirction[t]);
            }
            ++slots[--cnt];//球落入槽的位置
            System.out.println();
        }
        int max=slots[0];//输出槽中球的储备情况
        for(i=0; i<ball; ++i)
            if(slots[i]>max)
                max=slots[i];
        for(i=0; i<max; ++i)//按行判断输出
        {
            for(j=0; j<ball; ++j)
            {
                if(slots[j]>=(max-i))//自上而下依次判断各个槽,输出槽中球个数的图
                    System.out.print("0");//球用0表示
            }
            System.out.println();
        }
    }
}



运行结果:


***6.21-豆机 梅花瓶 高尔顿瓶_第1张图片


知识点总结:
随机数、一维数组

学习心得:

(⊙v⊙)嗯有了书上的提示好简单。。

你可能感兴趣的:(java)