自动投掷筛子的统计实验
一、实验内容:
编写一个图形界面程序实现自动投掷筛子100次的统计,在窗体中显示投掷过程,显示投掷的值,每隔1秒投掷1次,点击投掷按钮开始投掷。
利用多线程实现自动投掷。最后,通过对话框显示投掷结果。
可增加一个按钮控制投掷过程的中止。中止时显示目前投掷的次数,各个值统计占比情况。
二、实验目的:
1、学习并掌握图形界面的布局设置;
2、学习并掌握窗体、面板、按钮、图形绘制等内容;
3、学习并掌握事件注册监听处理的使用;
4、学习并掌握多线程的使用方法;
5、学习并掌握按钮控制面板的使用;
6、学习并掌握用数组存储统计数据。
三、实验步骤:
1、在面板中绘制骰子的形状和各个面的点数,其中用图形绘制和图像填充的调用方法;
2、在面板中添加“开始”和“终止”按钮;
3、对按钮实现事件注册监听者功能;
4、用数组存储骰子各个点数的次数。用随机数产生骰子点数,并使用for循环实现自动投掷骰子,用数组统计各个点数的次数;
5、多线程通过run()方法实现骰子的投掷过程。
四、源程序:
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.*;
public class ClickableDice extends JFrame{
public static void main(String args[]){
new ClickableDice();
}
MyPanel dice = new MyPanel();
int value = 4; //初始骰子点数
Label r; Label r1; //定义两个标签
int count = 0;
int a[] = {0,0,0,0,0,0}; //定义数组
boolean flag = false;
public ClickableDice(){
super("自动投掷筛子的统计");
setContentPane(dice); //设置创建的面部为内容面板