2014-11-01 53 views
-1

我試圖做到這一點:錯誤「==操作符是未定義的參數類型字符,布爾」

System.out.println("Do you want to solve an equation (y/n)?"); 
char first = In.getChar(); 
boolean y = true; 
boolean n = false; 

if(first == y) 
    System.out.println("Enter a:"); 

if(first == n) 
    System.out.println("Thanks"); 

基本上,我想要做的是,如果我要求用戶解決方程和用戶按下Ÿ(意思是),那麼它會經過if語句這ytrue;但如果用戶輸入n(意思不是),那麼它會說「感謝使用系統」。

我得到錯誤「的==操作符是未定義的參數類型字符,布爾」。

我在做什麼錯了,我怎麼能解決這個問題?

回答

5

yboolean'y'char

if (first == 'y') { 
    ... 
} 
+0

做你需要那些大括號? – 2014-11-01 20:17:10

+1

其良好的實踐經驗,這樣可以清楚地看到的'if' statment塊否則只有第一個語句塊中使用:) – Reimeus 2014-11-01 20:18:12

3

你比較不同的數據類型charboolean和Java不知道該怎麼做。例如,這應該是什麼結果?

'a' == false 

如果你想一個char變量的內容與特定char比較然後執行以下操作:

char charVar = 'n'; 
if (charVar == 'y') { // this would return "false", because 'n' is not equal 'y' 
    //... 
} 

所以,你可以改變你的代碼如下:

if(first == 'y') 
    System.out.println("Enter a:"); 
else if(first == 'n') // use "else if" instead of "if" :) 
    System.out.println("Thanks"); 
+1

謝謝你的職位湯姆,它幫助範圍! – 2015-06-12 16:18:52

相關問題