2012-10-12 44 views
-4

我的代碼:我敬酒不工作,奇怪

int LastSet = 2; 

     if(LastSet == '2'){ 
      Toast.makeText(PrintName.this, "Jack Johnson", Toast.LENGTH_LONG).show(); 
     } 

我覺得我用正確的語法和邏輯是什麼?什麼都沒有出現..

+1

請張貼語言和平臺 – jozefg

+0

嘗試使用getBaseContext(); 而不是PrintName.this; – Syn3sthete

+1

2和'2'在數據類型方面不同,因爲您將int(它是LastSet變量)與'2'(char類型)進行比較 將'2'更改爲2 – 2012-10-12 07:21:48

回答

6

您沒有指定問題中的哪個平臺和編程語言(多個平臺支持Toast通知),所以我將在Android上假設Java。看看前兩行的你的貼的代碼:

int LastSet = 2; 

if (LastSet == '2') { 
    // Do something 
} 

你設置LastSet 2,這是一個int,然後你就比較字符「2」,這是一個完全不同的獸。在Java中,您可以將int等字符用於多種目的(包括與int進行比較),但不要指望Java會將2和'2'視爲同一個東西,因爲它們不是。數字2是不一樣的字符來表示數字2

+0

那麼解決方案是什麼人? – Adam91

+3

只是將它比較爲2不是'2'...並且請儘量尊重 – jozefg

+0

LastSet =「2」是這樣的? – Adam91

2

試試這個:

int LastSet = 2; 

if(LastSet == 2){ 
    Toast.makeText(this, "Jack Johnson", Toast.LENGTH_LONG).show(); 
}