请考虑以下代码:
public Object getClone(Cloneable a) throws TotallyFooException {
if (a == null) {
throw new TotallyFooException();
}
else {
try {
return a.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
//cant be reached, in for syntax
return null;
}
Run Code Online (Sandbox Code Playgroud)
这return null;是必要的,因为可能会捕获异常,但是在这种情况下,因为我们已经检查它是否为null(并假设我们知道我们调用的类支持克隆)所以我们知道try语句永远不会失败.
在最后放入额外的return语句只是为了满足语法并避免编译错误(使用注释解释它不会达到)是不好的做法,或者是否有更好的方法来编写这样的东西以便额外的返回声明是不必要的?
每一个人.我对分类算法的主题完全陌生,需要一些关于从哪里开始"严肃阅读"的好指示.我现在正在发现,机器学习和自动分类算法是否值得添加到我的某些应用程序中.
我已经通过Z. Michalewicz和D. Fogel(特别是关于使用神经元网络的线性分类器的章节)扫描了"如何解决它:现代启发式",并且在实践方面,我目前正在查看WEKA工具包源代码码.我的下一个(计划好的)步骤是深入了解贝叶斯分类算法的领域.
不幸的是,我在这个领域缺乏一个认真的理论基础(更不用说,到目前为止已经以任何方式使用过它),所以任何关于下一步看的提示都会受到赞赏; 特别是,对可用的分类算法的良好介绍将是有帮助的.作为一名工匠而不是理论家,越实用,越好......
提示,有人吗?
pattern-recognition artificial-intelligence classification machine-learning weka
我写了这个,这是错误的语法,帮我解决它,我希望'T'是两个内连接的结果的别名.
select T.id
from table1
inner join table2 on table1.x = table2.y
inner join table3 on table3.z = table1.w as T;
Run Code Online (Sandbox Code Playgroud) 在我的python程序中,没有输入if语句.我已将代码简化为以下内容:
x = -5
while x < 5:
if (x == 0):
print 0
x += .01
Run Code Online (Sandbox Code Playgroud)
该程序不输出任何内容.
但是,将最后一行更改为x + = .5会使程序输出0.问题是什么?
我在哪里可以找到常见Lisp关键字的列表,这是Common Lisp中使用的保留字列表,如ash,setf等字样.如果列表中有关键字的使用,那将是很好的,无论如何,所有我可以找到遍布网络的示例程序中散布的一些关键字.除非我已经知道关键字,否则我无法搜索关键字,除非它在某个列表中,否则我无法知道该关键字.
谢谢
我正在从htdp.org解决问题.我想在方案中知道,这是一个更好的做法,用于评估具有常见运算符(如"+"或"*")的长表达式.
示例:
> (* 1 10 10 2 4) ; Version A
> (* 1 (* 10 (* 10 (* 2 4)))) ; Version B
Run Code Online (Sandbox Code Playgroud)
我应该遵循A还是B.另外,我请考虑上面的代数表达式例如圆柱面积.
-Abhi