我在这行有这个错误(if change_needed - coins[i] >= 0 then
)
字符串不能强制为fixnum
从我的代码来看,我不明白为什么现在不行。关于如何最好地解决这个问题的任何帮助都将不胜感激。
user_input = gets
change_needed = 0
coins = []
coins_part, change_needed_part = user_input.split(':')
coins = coins_part.split(',')
change_needed = change_needed_part.to_i
i = 0
coins_used = []
while change_needed != 0 do
if change_needed - coins[i] >= 0 then
change_needed = change_needed - coins[i]
coins_used << coins[i]
else
i += 1
end
end
最佳答案
coins
是一个String
数组,当您尝试使用coins[i]
进行算术运算时。
变化
coins = coins_part.split(',')
到
coins = coins_part.split(',').map(&:to_i)