将java语法折叠为单行

时间:2012-07-26 09:11:19

标签: java syntax if-statement formatting 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());
}

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

感谢。

2 个答案:

答案 0 :(得分:5)

看起来你只想:

o.setOutput (String.format ("%04d", i.getInput());

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

答案 1 :(得分:0)

只需使用String.format("%04d", number);

即可