Java 解惑: 你能通过改变一个单词来解决这个bug吗?

作为《Java解惑》这本书的脑残粉,我们一直想要寻找新的java谜题以满足我们的好奇心。但是很长时间以来,我们并没有搜集到比较满意的题目,所以为了向书中那些谜题致敬,我们决定自己造一个。解谜的好处就像书中所说的“一旦你解决了这些谜题,那些曾经愚弄过最具经验的Java程序员的隐晦且有违直觉的语言行为,将再也无法把你骗过”,除此之外,解谜过程所带给我们的快乐也是难以比拟的。为了增加解谜的乐趣,我们决定从能完美解决问题的获胜者中挑选出一位,奖励其250美元的Amazon礼品卡。赶紧行动起来吧,不过你需要正确地解释出错的根源。希望此时你的“功夫”已经达到比较高的境界了,祝好运。

基本信息
场景:有两支棒球队正在比赛,互有得分,突然“磅”的一声,game over了。好了,大侦探,你的任务就是找出比赛终止的原因。
项目结构如下:

.

+-- Main.java
+-- simulator
|   +-- MatchSimulator.java
|   +-- SimulationVerifier.java
+-- data
|   +-- BoxScore.java
|   +-- BasketballMatch.java

main类会调用两个Simulator线程,data目录存放了定义分数和比赛的数据结构,其余的自己看吧。

比赛说明
1.前往https://github.com/takipi/puzzle-bballsim, 将代码下载下来编译并运行,看看事故现场。
2.通过只改变一个keyword/token/identifier来修复这个bug,这里的改变指的是替换、增加、或删除
3.解释bug的原因以及如何修复
4.请在September 12, 12pm (PDT)前,将你的解决办法(solution)和解释(explanation)发送到hello@takipi.com
注意:你的解释是评审的重要部分,就算你修复了bug但给出了错误或不完备的解释都将视为不合格。

为了防止不止一位高手能正确解出谜题,我们会从中随机挑选一位获胜者。答案和比赛结果会在截止日期后的一个周内给出,并且我们也会公布所有的获胜者,让他们接受他人的尊敬。

如有任何疑问请在下方发表评论;如果你找到了答案,在截止日期前请不要公布出来。再次祝你们好运。
文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-09-20 17:27:26

Java 解惑: 你能通过改变一个单词来解决这个bug吗?的相关文章

java web开发怎么能够有一个按钮调网页内容字体大小呢

问题描述 java web开发怎么能够有一个按钮调网页内容字体大小呢 java web开发怎么能够有一个按钮调网页内容字体大小呢. 有些网站会有,大,中,小. 几个按钮,能够调动字体大小. 要怎样实现这样的功能呢? 解决方案 几种样式,动态改变样式即可 css样式 解决方案二: 一个按键,或者几个按键调整字体大小,肯定是没有问题的. 调整字体大小, Java 本身有类库支持,或者使用类似于:$Global.subContentByLen(${item.message}, 110) 来设置. 解决

游戏编程-java中的setBounds参数改变了没有什么变化

问题描述 java中的setBounds参数改变了没有什么变化 import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import javax.imageio.ImageIO;import java.awt.Image;class SFish1 extends JFrame{ JPanel panel = new JPanel(); Fish c; public SFish1() { add

class-java同一个包下,类名改变一个数字结果完全不同,遇到鬼了

问题描述 java同一个包下,类名改变一个数字结果完全不同,遇到鬼了 src上的Six2和Six3当时位置是同条件的. 解决方案 问题是,你的Six2是与其他类定义在一个文件中的,不是独立的类,它的main方法就不能作为程序的入口了. 而且这还是有编译错误的,我这里按你这段代码将Six2定义为public ,是无法编译通过的,必须去掉public才行,但是去掉public后,main方法就无法运行了. 结论就是:java语法规定,具有main方法的类必须是具有单独文件的类,将Six2挪出来就正确

《Arduino家居安全系统构建实战》——2.2 根据一个单词决定

2.2 根据一个单词决定 有了数据,我们就可以开始分析了.我们的最终目标是区分垃圾短信和非垃圾短信,但是和数字识别器的情况不同,我们还没有一组清晰的特征,唯一的材料是原始文本块--SMS本身.与此同时,人们会猜测文本中有许多信息可供利用.我们只需要找到一个途径,将这些字符串转换成可以使用的特征即可. 2.2.1 以单词作为线索 如果你仔细观察刚刚加载的数据集,就可能会注意到垃圾短信看起来和非垃圾短信有些不同.浏览这些短信,你的眼睛很容易找出某些值得警惕的线索,暗示着某一条短信可能是垃圾短信.举个

[华为机试练习题]19.字符串最后一个单词的长度

题目 代码 /*--------------------------------------- * 日期:2015-06-30 * 作者:SJF0115 * 题目:字符串最后一个单词的长度 * 来源:华为上机 -----------------------------------------*/ #include <iostream> #include <string> #include <algorithm> #include <vector> using

java web应用中新起一个线程 在线程中怎么获取系统登录的数据

问题描述 java web应用中新起一个线程 在线程中怎么获取系统登录的数据 java web应用中新起一个线程 在线程中怎么获取系统登录的数据,系统登录用的是Spring Secrity 解决方案 可以使用缓存,自己写一个缓存类.或者使用Redis.

一步一步SharePoint 2007之六:改变一个网站的导航栏

摘要 上一篇文章中,我们讲到向网站中添加了一个子网站,但是子网站的在导航栏中位置却不是我们希望 的位置,这让我们的女神计划受到了一定的阻碍,那么,我们有没有办法改变她在导航栏中的位置呢? 本篇文章将介绍如何改变一个网站的导航栏. 正文 一步一步操作过的朋友一定会发现,在Site Actions菜单中有两个有些类似的菜单项,一个是Modify Navigation,另外一个是Manager Content and Structure,这两个项目似乎都跟本篇文章要解决的问题 有关. 不过,在需要改变

Length of Last Word:求最后一个单词的长度

[ 问题: ] Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string. If the last word does not exist, return 0. 给你一个字符串,设法获取它最后一个单词的长度.如果这个单词不存在,则返回0. [ 分析 : ]A word is defined

android中的动画可以改变一个view的高和宽吗?

问题描述 android中的动画可以改变一个view的高和宽吗? 简单点说把,就是在android中通过动画可以改变这个对象的高度和宽度吗?举个例子,现在有一个图片,是imageview,我可不可以给他做一个动画让他高度变大?这个变大是指他实际占用的位置,比如这个imagview我在xml里配置的是200dip,通过动画我可以让他再动画结束后的高度变成500dip吗? 解决方案 类似效果,你的动画改变view布局参数,应该对imageView应用新的布局参数. 创建应用新布局参数(lp)的自定义