gpt4 book ai didi

java - 什么是更有效的方法来做到这一点?

转载 作者:行者123 更新时间:2023-12-02 06:42:21 25 4
gpt4 key购买 nike

public class calendar
{
public static void printMonth(int numDays, int startDays)
{
System.out.println("Su Mo Tu We Th Fr Sa");

for(int j=0; startDays >= j; j++)
{
if (j==0)
System.out.print(" ");
else
System.out.print(" ");
}
for (int i=1; numDays >= i; i++)
{
if (i<=7-startDays)
System.out.print(i + " ");
else if (i<10)
System.out.print(" " + i + " ");
else
System.out.print(i + " ");
if ((i == 7-startDays) || (i % 7+(startDays-7) == 0))
System.out.print("\n");
}
}
public static void main(String args[])
{
printMonth(28,5);
}
}

我用java写这个来打印一个二维日历的东西,我可以看出它是劣质的,并且对更有效的替代方案感到好奇。

最佳答案

这是一个简短的,在我看来更具可读性的形式(为了可读性而忽略尾随空格):

public static void printMonth(int numDays, int startDay) {
System.out.println("So Mo Di Mi Do Fr Sa");

int column = 0;
for(int day = 1 - startDay; day <= numDays; day++) {
System.out.print(day > 0 ? String.format("%2d ", day) : " ");
if (++column % 7 == 0) System.out.println();
}

System.out.println();
}

关于java - 什么是更有效的方法来做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19020583/

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