Java GUI可视化实例分析
作者:BrightSoul
时间:2023-04-24
浏览:0
问题:房间里有100个人,每人都有100元钱,他们在玩一个游戏。每轮游戏中,每个人都要拿出一元钱随机给另一个人,最后这100个人的财富分布是怎样的?猜一下,经过10000次的交换,你们认为最后的结果会是怎么样子的?答案是这个样子的。和你的直觉想法有出入吗?是不是一开始认为是平均分布的?事实上,很多人一开始都没想到结果会是这样子的。我们借助JavaGUI来可视化的理解这个问题。首先初始化数据,一开始每人都有100元钱。//初始化数据money=newint[100];for(inti=0;i
问题:房间里有 100 个人,每人都有 100 元钱,他们在玩一个游戏。每轮游戏中,每个人都要拿出一元钱随机给另一个人,最后这 100 个人的财富分布是怎样的?
猜一下,经过 10000 次的交换,你们认为最后的结果会是怎么样子的?
答案是这个样子的。
和你的直觉想法有出入吗?是不是一开始认为是平均分布的?
事实上,很多人一开始都没想到结果会是这样子的。
我们借助 Java GUI 来可视化的理解这个问题。
首先初始化数据,一开始每人都有 100 元钱。
// 初始化数据
money = new int[100];
for(int i = 0 ; i < money.length ; i ++)
money[i] = 100;
然后每轮游戏中,每个人都要拿出一元钱随机给另一个人,
for(int i = 0 ; i < money.length; i ++){
if(money[i] > 0){
int j = (int)(Math.random() * money.length);
money[i] -= 1;
money[j] += 1;
}
}
不够直观?那我们可以先排序再显示。
Arrays.sort(money);
for(int i = 0 ; i < money.length; i ++){
if(money[i] > 0){
int j = (int)(Math.random() * money.length);
money[i] -= 1;
money[j] += 1;
}
}
作者最新文章
索尼 Xperia 1 VIII / VII / VI 等手机获 Android 17 更新,新增桌面模式等功能
2026-09-08 16:44
加拿大留学监护声明书(IMM 5646)双页签署与公证核对指南
2026-09-03 15:02
在线PDF转图片教程:一键生成高清图片包
2026-09-03 12:04
Creo零基础入门:新建零件与第一次拉伸建模完整指南
2026-09-03 06:02
扫描件PDF转Word的在线操作步骤与编辑可行性判断
2026-09-02 18:39
上一篇:
如何使用MySQL检测数据是否为数字
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































