【问题标题】:Cannot implicitly convert type 'int' to 'bool' [ [duplicate]无法将类型“int”隐式转换为“bool”[[重复]
【发布时间】:2017-10-13 02:21:16
【问题描述】:
public static bool isValid(int num)
{
    bool status = true;
    int digit, rev = 0, ck_num; // Added new variable
    ck_num = num; // Assigned it to variable num

    // Tests for palindrome
    while (num)
    {
        digit = num % 10;
        num /= 10;
        rev = rev * 10 + digit;
    }

    if (rev == ck_num) // Checked it against unchanged variable
        status = true;
    else
        status = false;
    return status;
}

我已将 public static bool isValid 参数设置为 (int num) 但它仍然说 int 类型不能转换为 bool。有人可以帮我解决吗?

【问题讨论】:

  • 问题是while (num)num 不是布尔值。需要什么条件? num > x, num < y 等。修复它。
  • while (num) => while 需要bool 条件来停止循环,并且您需要包含返回bool 的条件,例如rev < num

标签: c#


【解决方案1】:

在 while 循环中,您必须提供一个条件(布尔值),以便循环继续直到满足条件。相反,您提供了一个 int 而不是条件(bool),因此 while(num) 给您一个错误。只需将其更改为 while(num!=0) 即可解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-30
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 2015-03-28
    • 1970-01-01
    相关资源
    最近更新 更多