我的代码包含一个switch语句,并且在所有情况下都包含if else语句。它们都很短,所以我考虑通过将代码转换为条件语句来缩减代码。我想要的格式是......
System.out.printf( (conditional-Statement ) );
以下是其中一个案例的if else语句......
if (count == 1) {
System.out.printf("%3d", count);
} else {
System.out.printf("%11d", count);
}
像...一样的东西。
System.out.print((count == 1) ? count : " " + count);
不会产生语法错误,
但是当我做的时候一切都搞砸了......
System.out.printf((count == 1) ? "%3d", count : "%11d", count);
我正在尝试做什么?
答案 0 :(得分:9)
是的,有可能。但是请注意,三元运算符只返回一个值,不是两个。你要做的事情必须这样做:
System.out.printf((count == 1) ? "%3d" : "%11d", count);
答案 1 :(得分:2)
那应该是
anotherController.setText(...);
您无需再次将System.out.printf((count == 1) ? "%3d": "%11d", count);
再次添加到条件语句中的表达式中。
或者为了清除混乱,让我们分开。
count
答案 2 :(得分:2)
可以使用'String.format',如下所示
System.out.print((count==1)? String.format("%3d", count): String.format("%11d", count));