双类型可以接受scala参数吗
我编写了以下代码:双类型可以接受scala参数吗,scala,Scala,我编写了以下代码: ` private def maxYinRange(minX: Double, maxX: Double, minY: Double, node: PointerPSTNode): Double = { if (node == null || node.getY < minY)
` private def maxYinRange(minX: Double,
maxX: Double,
minY: Double,
node: PointerPSTNode): Double = {
if (node == null || node.getY < minY) java.lang.Double.NEGATIVE_INFINITY
val nodeX: Double = node.getX
if (nodeX >= minX && nodeX <= maxX) node.getY
val leftChild: PointerPSTNode = node.getLeftChild
if (leftChild != null) {
val nodeR: Double = maxX(leftChild)/*here is the error*/
// nodeR >= points in left tree >= minX
if (nodeR >= minX && nodeR < maxX) {
val maxLeft: Double = maxYinRange(minX, maxX, minY, leftChild)
val maxRight: Double =
maxYinRange(minX, maxX, minY, node.getRightChild)
(if (maxLeft < maxRight) maxLeft else maxRight)
} else if (nodeR >= minX) {
maxYinRange(minX, maxX, minY, node.getLeftChild)
} else if (nodeR < maxX) {
maxYinRange(minX, maxX, minY, node.getRightChild)
}
}
java.lang.Double.NEGATIVE_INFINITY
}`
`private def maxinRange(minX:Double,
maxX:Double,
米妮:双份,
节点:PointerPSTNode):双精度={
if(node==null | | node.getY=minX&&nodeX=左树中的点>=minX
if(nodeR>=minX&&nodeR=minX){
maxYinRange(minX、maxX、minY、node.getLeftChild)
}else if(节点
但是我得到了以下错误:Double不接受参数(错误在这一行val nodeR:Double=maxX(leftChild)
)我不知道如何解决这个问题。从逻辑上看,这似乎是你的意思
val nodeR: Double = leftChild.getX
但是,即使这是固定的,函数始终会返回负无限
,因为这是方法中的最后一个值。其余代码将被执行,但不会影响结果(编译器可能会就此向您发出警告)
即使是固定的,逻辑也不太可能做你想做的事。你也应该考虑使用<代码>选项>代码>来保存叶指针,而不是使用<代码> null <代码>。
<代码> Max(LeftCub)< /C>显然是无稽之谈。它是什么意思?你写了什么时候打算做什么?