Scala代码不在EclipseJuno中运行
我一直在用java编程,对scala还不熟悉。我正在尝试一些基本的scala教程。我使用EclipseJuno4.2和scala语言插件。机器上安装的JDK是1.7 下面的代码用于计算小于400万的偶数斐波那契级数之和。 当我运行代码时,eclipse不会显示任何结果,我被迫终止进程Scala代码不在EclipseJuno中运行,scala,eclipse-juno,Scala,Eclipse Juno,我一直在用java编程,对scala还不熟悉。我正在尝试一些基本的scala教程。我使用EclipseJuno4.2和scala语言插件。机器上安装的JDK是1.7 下面的代码用于计算小于400万的偶数斐波那契级数之和。 当我运行代码时,eclipse不会显示任何结果,我被迫终止进程 var (a,b) = (1,2) var sum = 0 while(a < 4000000) { if(a % 2 == 0) { sum += a val swap = a a = b
var (a,b) = (1,2)
var sum = 0
while(a < 4000000)
{
if(a % 2 == 0)
{ sum += a
val swap = a
a = b
b= swap + b}
}
println(sum)
系统编译并运行以给出此答案1383447424
不知道为什么EclipseJuno在变量a使用默认值1时不编译scala代码。机器上安装的JDK是JDK1.7
我很高兴能得到解释,它确实是编译的,而且不是Eclipse问题 代码有一个无限循环,循环
a=1
。如果格式化代码,您会注意到它如下所示:
var (a, b) = (1, 2)
var sum = 0
while (a < 4000000) {
if (a % 2 == 0) { <-- This scopes over everything in the loop!
sum += a
val swap = a
a = b
b = swap + b
}
}
println(sum)
它确实可以编译,并且不是Eclipse的问题 代码有一个无限循环,循环
a=1
。如果格式化代码,您会注意到它如下所示:
var (a, b) = (1, 2)
var sum = 0
while (a < 4000000) {
if (a % 2 == 0) { <-- This scopes over everything in the loop!
sum += a
val swap = a
a = b
b = swap + b
}
}
println(sum)
谢谢dhg,我现在明白了问题所在。Guess期望代码能创造奇迹,而不是理解我要求编译器做的事情。感谢dhg,我现在明白了问题所在。Guess期望代码能创造奇迹,而不是理解我要求编译器做什么。
var (a, b) = (1, 2)
var sum = 0
while (a < 4000000) {
if (a % 2 == 0)
sum += a
val swap = a
a = b
b = swap + b
}
println(sum)