未检验 槽数和球数 的有效性
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版权协议,转载请附上原文出处链接和本声明。