我试图创建一个可以识别父子循环的函数<想象
对象A是对象B的父对象
对象B是对象C的父对象
创建一个可以防止父子循环的函数。该函数应该给出至少两个参数(ChilName、家长名),如果关系创建了一个循环,则会出错。在上面的例子中,如果我们通过(A、C)应该打印或传递字符串:
“A是C的父级”
我知道如何创建这个函数(你可以用任何语言提供答案):
private static void restrict_ParentChild_Loop(Object A, Object B) throws Exception {
if (A.parent == null)
return;
if (A.parent.equals(B)) {
throw new Exception("");
} else {
restrict_ParentChild_Loop(A.parent, B);
}
}
我的主要问题是如何在异常中提供正确的消息。(“A是C的母公司”)
我的主要问题是如何在异常中提供正确的消息。
我仍然想知道为什么这不是问题标题本身。
因为这个问题可能是基于意见的。。。我会开枪的?
您的代码位于:
throw new Exception("");
将引发如下异常:
java.lang.Exception: At ...
所以如果你一开始就告诉它你想让它显示什么,那就更好了:
throw new Exception(A.parent+" is the parent of "+B.child);
//This throws:
java.lang.Exception: A is the parent of C: At ...
这导致:
private static void restrict_ParentChild_Loop(Object A, Object B) throws Exception {
if (A.parent == null)
return;
if (A.parent.equals(B)) {
throw new Exception(A.parent+" is the parent of "+B.child);
} else {
restrict_ParentChild_Loop(A.parent, B);
}
}
问题内容: 我在excel中有父子数据,该数据已加载到运行MS SQL Server的第3方系统中。数据表示有向(希望)非循环图。第三方意味着我在架构中没有完全自由的手。excel数据是其他文件的串联,并且存在以下可能性:在各个文件之间的交叉引用中,有人引起了循环- 即X是Y的子级(X-> Y),然后是其他地方(Y-> A- > BX)。我可以在Excel或SQL Server数据库上编写vb,v
伪代码: 为什么大多数程序通常不允许这样做(我从未见过)? 程序不能识别出它何时进行了循环并停止执行任务吗? 对于实例: 假设这些对象是3d网格,我们想在x轴上转换对象A 2个单位。通常,父子关系会移动A的任何子级。所以它穿过子树,并用A翻译x轴上的每个子级2个单位。然后它到达树中的对象A,而不是移动它,为什么不让它检查身份,如果身份返回true,然后停止移动东西? 这只是软件开发人员的懒惰吗?
问题内容: 我正在使用JDBC,需要不断检查数据库是否有更改值。 我目前拥有的是无限循环运行,内部循环迭代更改的值以及针对数据库的每次迭代。 我认为这不是最好的方法。 我在想的另一种方法是反向操作,以保持对数据库的迭代。 更新 感谢您提供有关计时器的反馈,但我认为它不能解决我的问题。一旦数据库中发生更改,我需要立即针对更改的值(示例代码中的“ el”)处理结果。 即使数据库没有更改,它仍然必须不断
我下面有这个功能,我在某处做错了什么。 要运行,从程序的主要部分调用函数,如下所示: 代码底部的返回False与如果product为None有关,这是在另一个函数中编写了一些代码之后需要的,但在这个函数中必须执行。 如果用户输入的数量是一个数字,所有工作正常。如果是其他任何东西,则打印值错误,您可以输入另一个输入。如果你把另一个字母etc放进去,它就会重复一遍,如果你把一个数字放进去,它就会接受它
需要运行一个代码,该代码遍历从2到-number的数字,并在isPrime方法中给出一个关于输入数字的布尔值。不管我输入了什么,我总是得到“真”,7,28等等。
提前感谢!