- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在创建一个程序,该程序应随机指定我将在 Java 期中考试中解决的问题。我创建了一个运行 100,000 次的程序,并将每个问题作为 HashMap 中的键输入,而它的值是从 100,000 中生成的计数数。我创建了以下简单程序:
public class randomChoice {
public static Map<Integer, Integer> dictionary = new HashMap<Integer, Integer>();
public static void randInt() {
Random rand = new Random();
int randomNum = rand.nextInt((33 - 1) + 1) + 1;
if (dictionary.containsKey(randomNum)) {
dictionary.put(randomNum, dictionary.get(randomNum) + 1);
} else {
dictionary.put(randomNum, 0);
}
}
public static void main(String[] args) {
int i = 0;
while (i < 100000) {
randInt();
i++;
}
System.out.println(dictionary);
Map.Entry<Integer, Integer> maxEntry = null;
for (Map.Entry<Integer, Integer> entry : dictionary.entrySet()) {
if (maxEntry == null || entry.getValue().compareTo(maxEntry.getValue()) > 0) {
maxEntry = entry;
}
}
System.out.println("\nThe question I will be using for the midterm is " + maxEntry.getKey() + " with a total count of " + maxEntry.getValue());
int total = 0;
for (Map.Entry<Integer, Integer> entry : dictionary.entrySet()) {
total = entry.getValue() + total;
}
System.out.println("\nTotal: " + total);
}
}
当我尝试将 HashMap 的所有值相加时(这是 100,000 个问题中每个问题的生成频率),我的问题就出现了。这是生成的输出,打印 HashMap,我将要做的随机选择的问题具有最高的值(value),最后是所有 HashMap 值的总和:
> run randomChoice
{1=3038, 2=3025, 3=3009, 4=2945, 5=2996, 6=3049, 7=3004, 8=3078, 9=3011, 10=3012, 11=2995, 12=3041, 13=3116, 14=3015, 15=3029, 17=3058, 16=3141, 19=3045, 18=2976, 21=2988, 20=3065, 23=2943, 22=3106, 25=3025, 24=3093, 27=3092, 26=3058, 29=3018, 28=2981, 31=3035, 30=2970, 32=3007, 33=3003}
The question I will be using for the midterm is 16 with a total count of 3141
Total: 99967
>
我的问题是,为什么总数是 99967 而不是 100,000?似乎有点可疑,它正好短了 33 个,我有 33 个问题可供选择。我在这里做错了什么?我的缺陷在哪里可以帮助我创建恰好 100,000 个生成的随机数?
最佳答案
您距离 100,000 正好差 33,因为当您第一次遇到 33 个 map 条目中的每一个时,您放置的是 0
,而不是 1
.这是一个差一错误。
改变
dictionary.put(randomNum, 0);
到
dictionary.put(randomNum, 1);
关于Java - 随机数生成器中的缺陷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47799450/
我的 slideToggle 在幻灯片切换的底部有点跳动。会不会是因为那里有一个按钮之类的。任何使它更平滑的方法。尝试使用缓动但不是很成功。有什么建议 点击视频设置自己看看 The site $(do
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
概述: 我的 B 对象是一个 100 000 * 5000 的 2 GB 大矩阵 我的 A 对象较小 1000 * 5000 analyse_with_glm <- function(Y) { c
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 6年前关闭。 Improve t
我在从 SQL Server (2008R2) 数据库中的 NVARCHAR 字段检索加密数据时遇到了问题,对于某些记录,我的 C# .NET 应用程序中数据的字符串值与数据库记录中的数据字符串值不同
我从 main.cpp 中包含两个头文件,它们在匿名命名空间中具有以下定义:const string strToken = ("%");使用 g++ 4.9 版编译结果如下: In file incl
我正在测试的代码中出现信任边界冲突。该代码在 session 中添加表单,并且由于违反信任边界而存在缺陷 Inside Struts Action class execute method { Ed
这个问题没有与之相关的实际问题,它更多的是一个好奇的问题,想知道我是否过于字面意思;)。 所以我一直在努力尽可能多地理解 c++ 标准。今天,在深入研究标准时,我注意到了这一点 (ISO/IEC 14
在我的数据库中,我必须做一个Circular Reference(cycle)来获取我想要的数据,我不知道如何重新排序表来获取我想要的数据而不需要循环. 这是我的数据库的模式(或模型)——只有表名是英
我有一个代表一组数字的类。构造函数接受三个参数: startValue 、 endValue 和 stepSize 。 该类负责保存一个列表,其中包含考虑 stepSize 的开始值和结束值之间的所有
如何删除下图中标记的三个间隙? 此代码可在 http://jsfiddle.net/69zj6smo/ 获得- 调整渲染区域的大小以查看通常存在的一些线条。 让我感到困惑的是,我认为我总是创建这样的流
double 的位格式在第一位存储符号。 double的C#哈希算法是高低32位二进制异或。 因此,当您对 double A 及其负数 -A 进行哈希处理时,哈希值的唯一区别在于第一位。 要散列多个字
当我在 Action 中使用重定向时,afterAction 方法(在 controller.php 中)不起作用!我该如何解决这个问题? 注意:我不能使用 beforeAction 因为我在我的 A
毫无疑问,还有其他可能更好的方法可以做到这一点,但我正在努力了解这里发生了什么。 在下面的示例中,coverity 在第四行报告了 FORWARD_NULL 缺陷。 double? foo = nul
我们希望针对 Jenkins 中失败的构建自动在 Jira 中创建缺陷。如果您成功完成了此操作,可以与我分享吗? 最佳答案 您应该能够使用JIRA plugin来做到这一点,以及“JIRA:创建问题”
有人能解释一下为什么 VeraCode 似乎认为使用 name 作为公共(public)属性(property)是一个坏主意,并提出了一个好的缓解措施吗? 代码(JavaScript): var Ba
我认为这是 C++11 标准中的一个(次要)缺陷。在 [dcl.dcl] 中我们有: simple-declaration: decl-specifier-seqopt init-
我做了以下... private static IDbConnectionProvider CreateSqlConnectionProvider(DbConfig dbConfig) { r
我现在在运行我的 cakephp 应用程序时遇到了很多麻烦。 在将 vom lenny 升级为 squeeze(甚至尝试完全重新安装 sqeeze)之后,imagick 的速度非常慢,以至于它只是关闭
我收到来自 Veracode 的信任边界违规。我的代码是 userName= req.getParameter(Constant.USERNAME); session.setAttribute(Con
我是一名优秀的程序员,十分优秀!