这段代码采用一系列数字,然后打印输出的最高数字。在代码中存在一个缺陷,对于某些数字序列来说,这些缺陷不会产生正确的输出。但是,我找不到任何一系列数字,其中没有显示正确的输出,也无法在代码中看到问题。
int m = 0
boolean finished = false
while (!finished) {
print "Enter another number (0 to finish): "
String s = System.console().readLine()
int num = Integer.parseInt(s)
if (num != 0) {
if (num > m) {
m = num
}
} else {
finished = true
}
}
println m
答案 0 :(得分:0)
你自己回答 - 负数是罪魁祸首。这是一个固定版本:
Integer m = null
boolean finished = false
while (!finished) {
print "Enter another number (0 to finish): "
String s = System.console().readLine()
Integer num = Integer.parseInt(s)
if (num != 0) {
if (num > m) {
m = num
}
} else {
finished = true
}
}
println (m == null ? "No input provided" : m)