不太明白为什么这不起作用。我对Swift世界很陌生。
我得到的错误是Binary operator '>=' cannot be applied to operands of type 'String' and 'Int'
有谁能帮助我理解为什么我会收到此错误?我是否需要将字符串转换为Double或者还有其他我完全缺失的东西?我再次成为Swift的新手。
答案 0 :(得分:1)
我是否需要将String转换为Double?
是的,基本上就是这样。
您必须首先声明一个变量来累积所有输入:
var inputs = [Double]()
注意我正在声明一个Double
数组,因为这是我们感兴趣的。
然后,每次询问输入时,将获得的String
转换为Double
并将其存储在数组中:
print("Please enter a temperature\t", terminator: "")
var message : String = readLine()!
let value : Double = Double(message)!
inputs.append(value)
最后,检查inputs
中的所有累计值(你有这个部分的权利):
for value in inputs {
// value is already a Double
if value >= 80 {
message = "hot!"
}
// etc.
}
我建议研究如何通过错误检查转换为Double
(即如何检测“100 hot!”并忽略它,因为无法转换)。
另外,请考虑使用循环来读取值。