作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
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/
我是一名优秀的程序员,十分优秀!