我想用variable width1数到10.

width:4的例子

计数应为:

0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 ---> Note that it's not 00010

width:2的例子

计数应为:

01 ... 09 10 ---> Not 010

我试过以下方法:

First attempt

for(int i = 1; i <= 10; ++i) {
   System.out.println("0".repeat(width-1) + i);
}

Second attempt

String output = String.format("%04d", 1);

随着位数的变化,这些不能正确格式化数字.

推荐答案

可以使用可变长度的格式说明符创建格式字符串.根据需要调整宽度变量.

int width = 2;
String format = "%0"+width+"d";

for(int i = 1; i <= 10; i++)  {
    String output = String.format(format, i);
    System.out.println(output);
}


/* Output:
01
02
03
04
05
06
07
08
09
10
*/

Java相关问答推荐

具有额外列的Hibert多对多关系在添加关系时返回NonUniqueHealthExcellent

gitlab ci不会运行我的脚本,因为它需要数据库连接'

同时运行JUnit测试和Selenium/Cucumber测试时出现问题

如何转换Tue Feb 27 2024 16:35:30 GMT +0800 String至ZonedDateTime类型""

CAMEL 4中的SAXParseException

使用@MappdSuperClass扩展ParentClass&Won t继承ParentClass属性

流迭代列表<;对象>;上的NoSuchElementException

现场观看Android Studio中的变化

扩展到弹出窗口宽度的JavaFX文本字段

如何获得执行人?

如何在Application.yaml中连接字符串?

如何在 spring 数据的MongoDB派生查询方法中使用$EXISTS

try 使用类来包含JSON响应

项目react 堆中doOnComplete()和Subscribe()的第三个参数之间的差异

如何处理两个几乎相同的XSD文件?

在应用getCellFormula()时,Excel引用中的文件名始终为";[1]";使用Apache POI()

如何将RESTAssured';S的Http标题转换为<;字符串、字符串和>的映射?

关于正则表达式的一个特定问题,该问题与固定宽度负向后看有关

ChromeDriver 版本 117+ 强制另存为对话框 - 如何绕过? (selenium/Java)

为什么 Random() 的行为不符合预期?