gpt4 book ai didi

java - 使用 Java string.format() 进行打印

转载 作者:行者123 更新时间:2023-11-30 06:12:43 24 4
gpt4 key购买 nike

我是java新手,我编写了一段代码来打印出特定范围之间的闰年,对于输出,我想每行打印出3个闰年,每年以逗号分隔。

例如,在1999年到2045年之间,我想要的输出是:

2000,2004,2008
2012,2016,2020
2024,2028,2032
2036,2040,2044

我已经写了代码:

for (int year = 1999; year<2045; year ++) {
if (((year%4 == 0) && (year%100 !=0)) || (year%400==0)) {
System.out.println(String.format(format, year)); #issue here
}
}

我对字符串格式如何通过我计划在打印时使用的 String.format 表示法工作感到困惑。希望得到一些帮助。

最佳答案

String.format() 大致采用第一个字符串参数,即您想要的“布局”,其中以 % 开头的说明符表示变量类型(%s 表示字符串,%d 表示数字等)以及下一个系列作为实际数据的参数 - 应与格式布局中的说明符数量和顺序相匹配:

    int[] years = new int[3];
int i = 0;
for (int year = 1999; year < 2045; year++) {
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {
years[i++] = year;
if (i > 2) {
System.out.println(String.format("%d,%d,%d", years[0], years[1], years[2]));
i = 0;
}
}
}

2000,2004,2008
2012,2016,2020
2024,2028,2032
2036,2040,2044

对于这种情况,String.format() 感觉有点矫枉过正。您可以(大约)在我的特定解决方案中完成相同的任务,而无需使用格式,只需使用:

 System.out.println(Arrays.toString(years));

除了本例中使用的 int 数组外还有方括号。

[2000, 2004, 2008]
[2012, 2016, 2020]
[2024, 2028, 2032]
[2036, 2040, 2044]

关于java - 使用 Java string.format() 进行打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49878682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com