如何从Scala中的另一个类向一个类添加值?

时间:2019-03-11 14:12:26

标签: scala function class methods

输入:class Number(changeNum: ChangeNum, 32)

输出:changeNum = 32.0

每次调用类Method时,都会在最后一个数字的末尾附加一个数字。因此,如果您再次拨打class Number(changeNum: ChangeNum, number: Int),号码为45,则Class ChangeNum中changeNum的输出将为3245.0

如何在Scala中执行以下操作?这是我在下面尝试过的。

import javafx.event.ActionEvent
import javafx.event.EventHandler

class ChangeNum() {
    def given(): Double = {
        0.0
    }
}

class Number(changeNum: ChangeNum, number: Int) extends EventHandler[ActionEvent] {
    override def handle(event: ActionEvent): Unit = {
        var changeNum += number
    }
}

1 个答案:

答案 0 :(得分:0)

要想根据需要更新var,必须将其放在函数之外。您现在正在做的是在每次调用函数时将每次添加的值都初始化为一个新值。

例如,您可以这样做:

class Number(changeNum: ChangeNum, number: Int) extends 
EventHandler[ActionEvent] {
var changeNumber = changeNum.toString
override def handle(event: ActionEvent): Unit = {
changeNumber.append(number.toString)
}

此外,您想将每个数字附加到末尾。一种简单的方法是将其放入字符串并使用append函数。