问题及代码:
运行结果:
知识点总结:
随机数、一维数组
/*
*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();
}
}
}
运行结果:
知识点总结:
随机数、一维数组
学习心得:
(⊙v⊙)嗯有了书上的提示好简单。。