将java语法折叠为单行

sta*_*uck 1 java syntax formatting if-statement string-formatting

以下确保char(4)的输出,因此5为0005,43为0043:

if ( var > 1 && var <= 9 ) {
    o.setOutput (String.format ("%0001d", i.getInput());
else if (var > 9 && var <= 99 ) {
    o.setOutput (String.format ("%002d", i.getInput());
else if (var > 99 && var <= 999 ) {
    o.setOutput (String.format ("%03d", i.getInput());
else if (var > 999 & var <=9999 ) {
    o.setOutput (String.format ("%4d", i.getInput());
}
Run Code Online (Sandbox Code Playgroud)

有没有办法写这只是一行而不是多个if/case语句?

谢谢.

Gre*_*ill 6

它看起来像你想要的简单:

o.setOutput (String.format ("%04d", i.getInput());
Run Code Online (Sandbox Code Playgroud)

格式字符串%04d生成(至少)四个字符的输出字段,在左侧填充0字符根据需要.