当前位置: 首页 > news >正文

闲着也是闲着,自己写歌东西玩一玩,碰碰脑子,简单快乐一点,双人出数的小游戏,后续还带补充

主旨就是每个人出一个数,目前限制两人,之后考虑多人,然后对其取差值,获取到一个结果,比对结果的奇偶数,还可以看下两人出同一个数的概率,反正概率上是一个比较稳定的。
当然自己想玩的活也可以做些小手脚,比如奇数的结果固定的某些规则值,放到偶数集合中。
反正小手脚就自己玩吧

现在只是加了一个简单的逻辑,后续慢慢扩充吧,有兴趣,就把它弄成一个小网页,放到网站上
`
import javax.xml.validation.Validator;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.IntStream;
import java.util.stream.Stream;

public class TwoPerson {

//创建一个随机数变量
static final Random random = new Random();
//偶数
static final AtomicInteger evenCount = new AtomicInteger();
//奇数
static final AtomicInteger oddCount = new AtomicInteger();
//相同的次数概率
static final AtomicInteger sameNum = new AtomicInteger();
//设定的 游戏次数
static final Long count = 1000000L;
//创建集合,第n次,相减的差,同时保留两人的数值
static final Map<Integer,Person> subPerson = new HashMap<>();
public static void main(String[] args) {int person1 = 0;int person2 = 0;int sub = 0;for (int i = 0 ; i < count ; i++){person1 = randomInt(0,9);person2 = randomInt(0,9);sub = person1-person2;if (sub < 0){sub = -sub;}Person person = new Person(person1, person2,sub);subPerson.put(i,person);}for (int i: subPerson.keySet()) {Person person = subPerson.get(i);if (person.getSub() % 2 == 0){evenCount.incrementAndGet();//得到结果之后就跳出循环,不再执行之后的判断

// continue;
}
if (person.getSub() % 2 > 0){
oddCount.incrementAndGet();
}

        if (person.getSub() == 0){sameNum.incrementAndGet();}}//计算概率奇数的概率String odd = probability(count, oddCount.longValue());System.out.println("奇数的概率:"+odd );//计算概率偶数的概率String even = probability(count, evenCount.longValue());System.out.println("偶数的概率:"+even );//计算两人出同一个数的概率String same = probability(count, sameNum.longValue());System.out.println("两人相同的概率:"+same);}
//创建一个产生随机数的方法
private static int randomInt(int i,int j){//获取一个数据流,拿到其中的一个值IntStream ints = random.ints(i, j);return ints.iterator().nextInt();}
//计算概率
private static String probability(Long total,Long n){BigDecimal nB = new BigDecimal(n);BigDecimal tB = new BigDecimal(total);BigDecimal divide = nB.divide(tB);return divide+"%";}

}

//创建一个对象用于存储值
class Person{
private int person1;

private int person2;private int sub;public int getSub() {return sub;
}public void setSub(int sub) {this.sub = sub;
}public int getPerson1() {return person1;
}public void setPerson1(int person1) {this.person1 = person1;
}public int getPerson2() {return person2;
}public void setPerson2(int person2) {this.person2 = person2;
}
public Person (int person1,int person2,int sub){this.person1 = person1;this.person2 = person2;this.sub = sub;}

}

`

http://www.lryc.cn/news/197360.html

相关文章:

  • 牛客网 -- WY28 跳石板
  • [正式学习java③]——字符串在内存中的存储方式、为什么字符串不可变、字符串的拼接原理,键盘录入的小细节。
  • 行情分析——加密货币市场大盘走势(10.18)
  • 高并发场景下常见的限流算法及方案介绍
  • 虹科分享 | 选择SAS还是NVMe?虹科网络基础带您一探究竟!
  • 在ERP管理系统中,库存管理的基本流程是什么?
  • Ruby 之 csv 文件读写
  • Android AMS——进程LRU列表更新(十七)
  • 【数据可视化】—大屏数据可视化展示
  • 计算机算法分析与设计(12)---贪心算法(最优装载问题和哈夫曼编码问题)
  • 打造属于自己的vue图标库
  • C++11线程池
  • 企业打造VR虚拟展厅,开启商务洽谈新时代!
  • linux部署gitlab
  • c++_learning-基础部分
  • 支持PC端、手机端、数据大屏端的Spring Cloud智慧工地云平台源码
  • 给cmd控制台程序 套壳 美化
  • 【系统架构设计】架构核心知识: 1 构件和中间件
  • 通过开发者工具-网络排查响应时间过长的问题
  • 【Python】Python 实现 Excel 到 CSV 的转换程序
  • BUUCTF题解之[极客大挑战 2019]Havefun 1
  • DIV+CSS网页布局
  • python二次开发CATIA:CATIA Automation
  • 2023年中国云计算软件市场规模、市场结构及市场份额情况分析[图]
  • docker入门加实战—部署Java和前端项目
  • 机器人制作开源方案 | 行星探测车概述
  • Git基础命令
  • C#中Semaphore 和 CountdownEvent 的使用总结
  • THE PLANETS:EARTH vulnhub
  • 【随想】每日两题Day.13