我用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