代码之家  ›  专栏  ›  技术社区  ›  Valien

javafx绑定/循环问题

  •  0
  • Valien  · 技术社区  · 16 年前

    好吧,我正在学习javafx的激情课程,有一个问题我似乎想不出来。

    这和这个问题类似-

    Why doesn't this "binding" code work as expected in JavaFX?

    def numbers = [1..10];
    var currentNumber = 0;    
    
    for (currentNumber in numbers){
    var evenOrOdd = bind if (numbers[currentNumber] mod 2 == 0)
        "----{numbers[currentNumber]} is an even number"
        else "----{numbers[currentNumber]} is an odd number";
    println("{evenOrOdd}");
    }
    

    我的输出-

    ----2 is an even number
    ----3 is an odd number
    ----4 is an even number
    ----5 is an odd number
    ----6 is an even number
    ----7 is an odd number
    ----8 is an even number
    ----9 is an odd number
    ----10 is an even number
    ----0 is an even number
    

    我现在遇到的问题是,它看起来运行正常,只是它不将1显示为奇数,然后在10之后加上0。我花了一段时间来完成这个项目,似乎不知道它是如何/为什么这样做的。

    我可以让它在没有任何约束的情况下运行良好,所以不确定这是否是导致我问题的原因。

    有什么想法吗?

    艾伦

    1 回复  |  直到 16 年前
        1
  •  3
  •   Maurice Perry    16 年前

    currentNumber是数字元素之一,而不是索引

    var evenOrOdd = bind if (currentNumber mod 2 == 0)
        "----{currentNumber} is an even number"
        else "----{currentNumber} is an odd number";