目录及源码链接https://blog.csdn.net/coolyuan/article/details/107169180
实现效果
实现的是含有背景那块的部分,如下:
实现方法
1.用线程实现字符的下落
请参考https://blog.csdn.net/coolyuan/article/details/107116387
2.生成四列不同的三位数
每个三位数首位不相同,可以保证不会生成相同的三位数,防止后期实现输入数字消去对应数字时出现的输入一个数字同时消掉多列的问题。
用Math.radom()函数可以生成0到1之间的随机数。
用三个数组存储四个数字的横坐标,纵坐标和数字的字符形式。(记得比较每个数字的首位是否相同,相同则重新生成)
产生四列不同三位数的实现代码如下:
public static void getrandnum() {
int i, j;
for (i = 0; i < N; i++) {//生成数字的字符形式,设置初始横纵坐标
num[i] = Integer.toString((int) (Math.random() * 900 + 100));//生成100到999之间随机数
x[i] = (int) (0.1 * width + i * 0.20 * width);
y[i] = 50;
}
for (i = 0; i < N; i++) {
for (j = i + 1; j < N; j++) {
while (num[j].charAt(0) == num[i].charAt(0)) {//若数字与前面的数字首位相同,则重新生成该数字
num[j] = Integer.toString((int) (Math.random() * 900 + 100));
}
}
}
}