2015-05-07 50 views
0

我們可以使用三元運算符來這樣寫嗎?當我這樣寫的時候,我得到了錯誤,請幫助我。我怎樣才能寫出正確的語法?如何在java中使用三元運算符編寫嵌套條件?

(str.charAt(j)==c.charAt(k++)) ? break: k<len1 ? continue:break L1; 
+0

有什麼錯誤? – underdog

+0

你想用'break L1'做什麼? – Ian2thedv

+0

@underdog錯誤是非法開始的表達,而不是一個聲明。 – usr134

回答

0

三元操作符是表達的一部分和其部件必須表達式爲好,而不是語句。在這種情況下,你可以很容易地使用if stamement:

if (str.charAt(j)==c.charAt(k++)) 
    break; 
else if (k<len1) 
    continue; 
else 
    break L1; 

或者更簡單:

if (str.charAt(j)==c.charAt(k++)) 
    break; 
if (k<len1) 
    continue; 
break L1; 
+2

¿下垂者是否在意評論?這對我來說似乎是一個非常有效的答案! –

+2

@WaiHaLee同意,但如果你看到一個完美有效的答案,並且你甚至在意足以評論某人對它的評價,那麼你爲什麼不自己高興呢?* –

+0

@ErwinBolwidt - 如果我對Java有更多的瞭解,將。我基於我對C#知識的評論。 –

0

break &不斷循環中,總是使用;你可能想要重新檢查你的邏輯。

如果你想要寫一個嵌套三元運營商一般語法將

boolean x=("a".equals("b"))? false: (("b".equals("c"))?true:false); 
System.out.println(x); 

輸出

false 
+0

謝謝你的好解釋 – usr134