2017-10-13 121 views
0
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。有人可以帮我解决这个问题吗?不能隐式地将类型'int'转换为'bool'[

+1

问题是'while(num)'。 'num'不是一个bool。它需要的条件是什么? 'num> x,num

+0

'while(num)'=>同时需要'bool'条件来停止循环,并且您需要包含像'rev

回答

2

在while循环中,您必须提供一个条件(bool),以便循环一直持续到满足条件。你有提供一个int而不是一个条件(布尔),所以while(num)给你一个错误。只要将它改为while(num!= 0),那应该给你一个修复。

相关问题