我用4個不同的條件得到了一個很大的代碼,我試圖用條件三元運算符descibed here來縮短。但是,由於我有兩個以上的條件,因此我無法管理正確的語法。有人可以解釋如何在這種情況下使用三元運算符?我的代碼低於java - 使用三元運算符
不,我不要求爲我寫的代碼,我在尋找三元操作者使用的多個條件
解釋 if (mp.getCurrentPosition()/1000/60 < 10
&& mp.getCurrentPosition()/1000 % 60 < 10) {
tvTimeElapsed.setText("0"
+ Integer.toString(mp.getCurrentPosition()/1000/60)
+ ":" + "0"
+ Integer.toString(mp.getCurrentPosition()/1000 % 60));
} else if (mp.getCurrentPosition()/1000/60 < 10
&& mp.getCurrentPosition()/1000 % 60 >= 10) {
tvTimeElapsed.setText("0"
+ Integer.toString(mp.getCurrentPosition()/1000/60)
+ ":"
+ Integer.toString(mp.getCurrentPosition()/1000 % 60));
} else if (mp.getCurrentPosition()/1000/60 >= 10
&& mp.getCurrentPosition()/1000 % 60 < 10) {
tvTimeElapsed
.setText(Integer.toString(mp.getCurrentPosition()/1000/60)
+ ":"
+ "0"
+ Integer.toString(mp.getCurrentPosition()/1000 % 60));
} else {
tvTimeElapsed
.setText(Integer.toString(mp.getCurrentPosition()/1000/60)
+ ":"
+ Integer.toString(mp.getCurrentPosition()/1000 % 60));
}
你只需要將幾個條件操作相互嵌套。但這很醜陋,很難閱讀。所以不要。 =) – 2013-03-20 11:42:55
通常的建議是:不要!試圖用多個嵌套'?:'嵌入多個條件只會導致難以閱讀的代碼。 – 2013-03-20 11:42:59
我會質疑你爲什麼要縮短它。短代碼並不總是更好。就目前而言,您發佈的代碼非常複雜,因此IMO將其重構爲使用三元運算符會使其難以讀取 – 2013-03-20 11:43:05