Groovy 使用循环和布尔值进行练习
Groovy exercise with loops and booleans
我是 Groovy 的新手,正在尝试回答下面的练习。我看不到错误并且不起作用:
该程序采用一系列数字。如果当前数与前一个数相同,则iy表示"Same",如果当前数大于前一个数,则表示"Up",如果小于前一个数,则表示"Down"。它对第一个数字完全没有反应。
println " Please enter a number: "
String s = System.console().readLine()
int num = Integer.parseInt(s)
int prev = 0
def finished = false
while(!finished) {
println "and another: "
s = System.console().readLine()
int curr = Integer.parseInt(s)
if (curr != 1) {
if (curr > prev) {
print " Up "
} else if (curr < prev) {
print " down "
} else {
print "Same "
}
prev = curr
} else {
finished = true
}
}
如果您正确缩进代码,您很快就会发现问题
boolean finished = false
while(!finished) {
int curr = 1
println "Please enter a series of numbers: "
String s = System.console().readLine()
int n = Integer.parseInt(s)
if (n != 1) {
n = curr + prev
if (curr > prev) {
print " Up"
} else {
print " Down"
if (curr == prev) {
print = " Same"
} else {
finished = true
}
}
}
}
这段代码有很多问题。
curr == prev
检查在else里面,print " Down"
后面应该有个括号
- 你没有定义prev
- n 在这里做什么?
- 你想怎样制定你的退出条款?
finished
永远不能设置为 true,因为你要么是 above/below/same。没有第四条。
- 你永远不会改变
prev
- 打印行有语法错误
我是 Groovy 的新手,正在尝试回答下面的练习。我看不到错误并且不起作用: 该程序采用一系列数字。如果当前数与前一个数相同,则iy表示"Same",如果当前数大于前一个数,则表示"Up",如果小于前一个数,则表示"Down"。它对第一个数字完全没有反应。
println " Please enter a number: "
String s = System.console().readLine()
int num = Integer.parseInt(s)
int prev = 0
def finished = false
while(!finished) {
println "and another: "
s = System.console().readLine()
int curr = Integer.parseInt(s)
if (curr != 1) {
if (curr > prev) {
print " Up "
} else if (curr < prev) {
print " down "
} else {
print "Same "
}
prev = curr
} else {
finished = true
}
}
如果您正确缩进代码,您很快就会发现问题
boolean finished = false
while(!finished) {
int curr = 1
println "Please enter a series of numbers: "
String s = System.console().readLine()
int n = Integer.parseInt(s)
if (n != 1) {
n = curr + prev
if (curr > prev) {
print " Up"
} else {
print " Down"
if (curr == prev) {
print = " Same"
} else {
finished = true
}
}
}
}
这段代码有很多问题。
curr == prev
检查在else里面,print " Down"
后面应该有个括号
- 你没有定义prev
- n 在这里做什么?
- 你想怎样制定你的退出条款?
finished
永远不能设置为 true,因为你要么是 above/below/same。没有第四条。 - 你永远不会改变
prev
- 打印行有语法错误