一起创业网-为互联网创业者服务

豆机java程序怎么写

```java

import java.util.Scanner;

public class 豆机 {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

int number; // 球的个数

int n; // 机器的槽数

do {

System.out.print("请输入球的个数以及机器的槽数 (球的个数应不小于 1,机器的槽数应不小于2,且以空格隔开):");

number = input.nextInt();

n = input.nextInt();

if ((number < 1 || n < 2)) {

System.out.println("你输入的数字有误,请重新输入;");

}

} while (number < 1 || n < 2);

String[][] R = new String[number][n - 1]; // 记录每次球落下的位置

int[] count = new int[number]; // 记录每个槽上的球数

int[] num = new int[n]; // 记录每个槽上的球数

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

num[i] = 0;

}

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

count[i] = 0;

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

R[i][j] = (int) (2 * Math.random()); // 随机生成球落下的位置

}

}

// 模拟球落下的过程

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

int randomPosition = R[i][num[i]];

count[randomPosition]++;

num[randomPosition]++;

}

// 打印结果

System.out.println("槽位中的球数分布:");

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

System.out.println("槽 " + (i + 1) + ": " + count[i]);

}

input.close();

}

}

```

代码说明:

输入处理:

程序首先提示用户输入球的个数和机器的槽数,并进行验证,确保输入的数值符合要求。

初始化:

创建一个二维数组 `R` 来记录每次球落下的位置,一个数组 `count` 来记录每个槽上的球数,以及一个数组 `num` 来记录每个槽当前有多少球。

随机生成落点:

使用 `Math.random()` 方法随机生成球落下的位置,并将其记录在 `R` 数组中。

模拟过程:

根据生成的落点,更新 `count` 和 `num` 数组,模拟球落下的过程。

结果输出:

最后,打印出每个槽中的球数分布情况。

这个程序是一个简单的模拟,没有图形界面,但可以通过控制台输出结果。如果需要更复杂的图形界面,可以考虑使用Java的Swing或JavaFX库来创建一个豆机模拟的动画效果。