Tag: 正确性

正确的坂本algorithmfind星期几

我使用Sakamoto的algorithm来查找给定date的星期几。 有人可以告诉我这个algorithm的正确性吗? 我只是想从2000年到2099年。 给出了维基百科的algorithm供参考。 int dow(int y, int m, int d) { static int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4}; y -= m < 3; return (y + y/4 – y/100 + y/400 + t[m-1] + d) % 7; }

用返回语句切换语句 – 代码的正确性

比方说,我有大约这种结构的C代码: switch (something) { case 0: return "blah"; break; case 1: case 4: return "foo"; break; case 2: case 3: return "bar"; break; default: return "foobar"; break; } 现在很明显,代码没有必要正确运行,但是如果我不把它们放在那里,那看起来就像坏习惯。 你怎么看? 删除它们可以吗? 或者你会让他们增加“正确性”?

我什么时候需要指定JavaScript协议?

我的印象是,只有在URL属性中使用JavaScript时,才需要指定“协议”,例如在hrefs中。 这是唯一的“有用的”上下文的javascript: 明智的: <a href="javascript:alert('Hello')">World!</a> 愚蠢: <form onsubmit="javascript:alert('oops!')"> 这是正确的吗? 还是有我需要注意的一些模糊的错误/用例?

没有抛出VirtualMachineError保证

我从C ++来到Java。 在C ++世界里,我们注意到exception的安全性,并且注意到,在mutator本身或者委托给它的方法(最小,强壮,无丢包)的情况下,mutators可以提供不同的保证。 实现具有强大exception保证的方法要求保证一些基本的操作不会抛出exception。 JLS声明哪些操作可以抛出哪种exception,但是VirtualMachineError错误会出现问题。 JLS : 内部错误或资源限制阻止Java虚拟机实现Java编程语言的语义; 在这种情况下,引发VirtualMachineError的子类的一个实例。 JLS没有多说VirtualMachineError 。 “内部错误”意味着JVM中的一个错误,所以我对这种情况不感兴趣:面对JVM中的错误,所有的投注都closures。 但是“资源限制”情况呢? 是否有任何保证永远不会因为资源限制而失败的操作?

Java如何处理整数下溢和溢出,你将如何检查它?

Java如何处理整数下溢和溢出? 由此导致,你将如何检查/testing,这是发生?