如何在用户输入“ readLine()”中使用二进制运算符“%”?

时间:2019-01-16 04:30:39

标签: swift

已要求我使用If / Else语句编写代码。该代码应要求用户输入一个数字,如果该数字为偶数,则打印“此数字为偶数”,如果该数字为奇数,则打印“此数字为奇数”。为此,我使用二进制运算符“%”来确定估算的数字是偶数还是奇数。问题是我不断收到以下错误消息:“错误:二进制运算符'%'无法应用于类型为'String'的操作数?如果%2 == 0,则为'Int'。我不知道如何使用户输入成为Int值而不是默认的String,以便二进制运算符可以工作。

有人建议我尝试类型转换,但我似乎无济于事。

print("This code will inform you whether the number you input is odd or even.")

print("Please enter a number of your choice.")

var a = readLine()

if  a %  2 ==  0 {
   print("This number is even.")
}
else  {
   print("This number is odd.")
}

我希望用户能够输入数字,并且计算机会告诉用户数字是奇数还是偶数。

1 个答案:

答案 0 :(得分:-1)

readLine()返回一个可选字符串。要快速展开可选项,有几个选项很快出现,我猜那里有三个选项。一种是强制展开,第二种是可选链接,第三种是通过 guard 语句。在下面的选项中,我使用了可选链接来解开 redLine()返回的可选字符串。试试这个:

if let typed = readLine() {
    if let num = Int(typed) {
        if  num %  2 ==  0 {
            print("This number is even.")
        }
        else  {
            print("This number is odd.")
         }
       }
     } else {
    print("Please enter a valid number")
}