(eval):13: undefined 方法 '+' for nil:NilClass (NoMethodError)



不知道为什么我得到这个错误。下面是代码:

puts "Please input an integer"
puts ">>> A positive input stores how many numbers are >, < or = to 1000"
puts ">>> -1 terminates the application and outputs how many numbers were >, < or = to 1000"
num = gets.chomp
i = num.to_i
while num != "-1"
    if i > 1000
        greater += 1
    elsif i < 1000
        less += 1
    elsif i == 1000
        equal += 1
    elsif i < 0
        puts "Please only enter positive integers"
    end
end
puts "Number of integers greater than 1000 = #{greater}"
puts "Number of intergers less than 1000 = #{less}"
puts "Number of integers equal to 1000 = #{equal}"
gets

代码显然是在比较输入的数字,看看它们是否大于、小于或等于1000,然后将它们存储在变量中,一旦输入-1,就会显示出来。

您没有初始化greater, lessequal变量。尝试添加

greater = 0
less = 0
equal = 0

或者,如果你喜欢使用多个赋值的简短版本

greater = less = equal = 0

while循环前

相关内容

最新更新