【问题标题】:Collapsing java syntax to single line将java语法折叠成单行
【发布时间】:2012-07-26 09:11:18
【问题描述】:

以下确保 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 语句?

谢谢。

【问题讨论】:

  • 你真的想要吗?我很欣赏上面的内容有点冗长/重复,但我认为单行版本可能有点混淆。您应该编写代码以 read

标签: java syntax if-statement formatting string-formatting


【解决方案1】:

看起来你想要的只是:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-14
      • 1970-01-01
      • 1970-01-01
      • 2018-06-23
      • 2021-12-04
      • 1970-01-01
      • 2016-01-02
      • 2018-11-29
      相关资源
      最近更新 更多