2014-11-20 90 views
-3

我需要檢查用戶輸入的int是否爲特定值,但是我得到||對於int類型未定義的錯誤。檢查int值是否等於幾個值中的一個

問題:如何解決這個if語句來檢查int是否等於幾個數之一?

if (birthYear = 1936 || birthYear == 1948 || birthYear == 1960 || birthYear == 1972 || birthYear == 1984 || birthYear == 1996 || birthYear == 2008) 

    { 
     return "Rat"; 
    } 
+0

如果表現不是一個大問題,你也可以考慮在'Set '看'birthYear'。就像'if(ratYears.contains(birthYear))',其中'birthYear = new HashSet (Arrays.asList(1936,1948,1960,...)''。 – yshavit 2014-11-20 23:48:57

回答

4
if (birthYear == 1936 || birthYear == 1948 || birthYear == 1960 || birthYear == 1972 || birthYear == 1984 || birthYear == 1996 || birthYear == 2008) 

    { 
     return "Rat"; 
    } 

您使用的=,而不是在第一次檢查== ...

1

=是賦值運算符,不能用於檢查兩個整數平等。這就是爲什麼你收到你的錯誤。

if (birthYear = 1936 || birthYear == 1948 || birthYear == 1960 || birthYear == 1972 || birthYear ==  1984 || birthYear == 1996 || birthYear == 2008) 

{ 
    return "Rat"; 
} 

首先等於缺少==。你有=

3

birthYear = 1936是你的問題。

的邏輯OR(||)操作者只能在boolean類型和表達birthYear = 1936int類型。將賦值運算符更改爲相等運算符(===)。

相關問題