【发布时间】:2017-05-19 07:06:45
【问题描述】:
我正在计算用户将在 Ruby 中输入的 3 个数字的平均值。每次我运行应用程序时,用户都会输入 3 个数字,但我收到一条错误消息:
test.rb:7:in
<main>': undefined method/' for "23\n23\n24\n":String (NoMethodError)
我的代码如下:
puts "Enter first"
num1 = gets
puts "Enter second"
num2 = gets
puts "Enter third"
num3 = gets
avg = (num1 + num2 + num3) / 3
puts "Average is " + avg
【问题讨论】:
-
您需要仔细检查错误信息。通常,就像这里一样,他们会查明问题所在。这个告诉你方法
/没有为String类的实例"23\n23\n24\n"定义。这意味着(num1 + num2 + num3)是一个字符串(不是整数)。因此,您需要将其更改为(num1.to_i + num2.to_i + num3.to_i)。
标签: ruby