我试图从 Chris Pine 的“Learn to Program”一书中回答以下问题:
闰年。编写一个程序,询问开始年份和结束年份,然后将所有闰年放在它们之间(如果它们也是闰年,则包括它们)。闰年是能被 4 整除的年份(如 1984 年和 2004 年)。但是,能被 100 整除的年份不是闰年(例如 1800 和 1900),除非它们也能被 400 整除(例如 1600 和 2000,它们实际上是闰年)。真是一团糟!
运行代码时出现以下错误:
闰年.rb:12:in +': no implicit conversion of Fixnum into String (TypeError)
from leap_year.rb:12:in
'
这是我的代码:
#leap years
puts 'What is the starting year?'
starting_year = gets.chomp
puts 'What is the ending year?'
ending_year = gets.chomp
while starting_year <= ending_year
if starting_year%4 == 0 && (starting_year%100 != 0 && starting_year%400 == 0)
puts starting_year
end
starting_year+=1
end