商城首页欢迎来到中国正版软件门户

您的位置:首页 > 编程开发 >Java GUI可视化实例分析

Java GUI可视化实例分析

  发布于2023-04-25 阅读(0)

扫一扫,手机访问

问题:房间里有 100 个人,每人都有 100 元钱,他们在玩一个游戏。每轮游戏中,每个人都要拿出一元钱随机给另一个人,最后这 100 个人的财富分布是怎样的?

猜一下,经过 10000 次的交换,你们认为最后的结果会是怎么样子的?

答案是这个样子的。

Java GUI可视化实例分析 

和你的直觉想法有出入吗?是不是一开始认为是平均分布的?

事实上,很多人一开始都没想到结果会是这样子的。

我们借助 Java GUI 来可视化的理解这个问题。

首先初始化数据,一开始每人都有 100 元钱。

   // 初始化数据
   money = new int[100];
   for(int i = 0 ; i < money.length ; i ++)
       money[i] = 100;
Java GUI可视化实例分析  
初始状态

然后每轮游戏中,每个人都要拿出一元钱随机给另一个人

 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;
       }
  }
 
Java GUI可视化实例分析  

不够直观?那我们可以先排序再显示。

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;
       }
  }
Java GUI可视化实例分析    

本文转载于:https://www.yisu.com/zixun/576090.html 如有侵犯,请联系admin@zhengruan.com删除

热门关注