2013-03-17 10 views
10

Desc: तुलना करें सही सच या गलत लौटाता है। यदि सत्य है तो यह बटन का मान सेट करता है, अगर झूठी कुछ भी नहीं करता है।इनलाइन अगर कथन जावा, क्यों काम नहीं कर रहा है

मैं उपयोग करने की कोशिश कर रहा हूं: तुलनात्मक रूप से कर (curhar, tohar ("0"))? । GetButtons() (i) प्राप्त .setText ("§");

NetBeans कह रहा है: ')' अपवादित ':'

अपवादित मैं इन संयोजनों की कोशिश की:

if compareChar(curChar, toChar("0")) ? getButtons().get(i).setText("§"); 
if compareChar(curChar, toChar("0")) ? getButtons().get(i).setText("§") : ; 
if compareChar(curChar, toChar("0")) ? getButtons().get(i).setText("§") : 

if (compareChar(curChar, toChar("0"))) ? getButtons().get(i).setText("§"); 
if (compareChar(curChar, toChar("0"))) ? getButtons().get(i).setText("§") : ; 
if (compareChar(curChar, toChar("0"))) ? getButtons().get(i).setText("§") : 

धन्यवाद

उत्तर

15

त्रिगुट ऑपरेटर ? : एक मूल्य के वापस जाने के लिए है, जब आप प्रवाह नियंत्रण के लिए if का उपयोग करना चाहते हैं तो इसका उपयोग न करें।

if (compareChar(curChar, toChar("0"))) getButtons().get(i).setText("§"); 

पर्याप्त काम करेगा।

if (cond) 
    statementA 
else 
    statementB 

अपने मामले के लिए, आप बस सभी "अगर" हटा सकते हैं:

http://java.about.com/b/2009/06/06/java-term-of-the-week-ternary-operator.htm

+0

धन्यवाद Guillaume, काम किया .. –

0
cond? statementA: statementB 

के बराबर है। यदि आप पूरी तरह से उपयोग करते हैं - इसके बजाय?:। उन्हें एक साथ मिश्रण मत करो।

30

सिंटेक्स नीचे दिखाया गया है:

"your condition"? "step if true":"step if condition fails" 
+2

यह सबसे आसान जवाब उपलब्ध समझने के लिए है। अच्छी नौकरी। – JoeyG

15

जावा में (इनलाइन हैं) यदि आप उपयोग कर रहे हैं काम नहीं करेगा 'अगर' बयान .. सही सिंटैक्स निम्न उदाहरण में है:

int y = (c == 19) ? 7 : 11 ; 

या

String y = (s > 120) ? "Slow Down" : "Safe"; 
System.out.println(y); 

के रूप में आप देख सकते हैं चर वाई के प्रकार वापसी मान के रूप में ही है ...

0,123,

आपके मामले में सामान्य अगर सामान्य रूप से इनलाइन नहीं है तो यह सामान्य है कि अगर यह बिना किसी जवाब के जवाब में है? "

if (compareChar(curChar, toChar("0"))) getButtons().get(i).setText("§"); 
0

यह (हालत) होना चाहिए? यह सच है बयान झूठा बयान

बाहर छोड़ दें "अगर"

+1

इस प्रश्न से पूछा गया था और 3 साल पहले उत्तर दिया गया था। यह कोई अतिरिक्त जानकारी नहीं जोड़ता है। – George

संबंधित मुद्दे