java - java中的日历格式

标签 java calendar monthcalendar

我正在尝试制作日历,这部分代码应该打印日期。
现在,当日历完成时,行“|”停在最后日期。
31 旁边的方框应该有一条线。
这就是我到目前为止所拥有的。

    System.out.println("+-----------------------------------------+");
    System.out.println("|               " + months[month] + " " + year + "             |");
    System.out.println("+-----------------------------------------+");
    System.out.println("| Sun | Mon | Tue | Wed | Thu | Fri | Sat |");
    System.out.println("+-----------------------------------------+");

    int d = day(month, 1, year);

    // printing the days
    for (int i = 0; i < d; i++)
    System.out.print("|     ");
    for (int i = 1; i <= days[month]; i++) {
       System.out.printf("|   %2d", i);

        if (((i + d) % 7 == 0) || (i == days[month])) System.out.println("|" + "\n" + "|     |     |     |     |     |     |     |" + "\n" + "+-----+-----+-----+-----+-----+-----+-----+");

    }

}

}

Expected Output (Bottom part)

+-----+-----+-----+-----+-----+-----+-----+
|  26 |  27 |  28 |  29 |  30 |  31 |     |
|     |     |     |     |     |     |     |
+-----+-----+-----+-----+-----+-----+-----+

Actual Output (Bottom part)


+-----+-----+-----+-----+-----+-----+-----+
|   26|   27|   28|   29|   30|   31|
|     |     |     |     |     |     |     |
+-----+-----+-----+-----+-----+-----+-----+

最佳答案

没有测试,但将 System.out.println() 更改为 System.out.print() 应该可以解决问题。就像这样:

for (int i = 1; i <= days[month]; i++) {
   System.out.printf("|   %2d", i);

   if (((i + d) % 7 == 0) || (i == days[month])) System.out.print("|" + "\n" + "|     |     |     |     |     |     |     |" + "\n" + "+-----+-----+-----+-----+-----+-----+-----+");
}

关于java - java中的日历格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57838658/

相关文章:

java - 如何在不作为方法参数传递的情况下访问对象的状态?

java - 有没有一种快速的方法可以将 Java xml 对象转换为 Scala xml 对象?

java - 日历日期时区问题

c++ - BoldDays 与 TMonthCalendar

javascript - 如何使用 JavaScript 查找下一个月和上一个月?

java - Guice Binder 具有Bind 功能

java - 如何使用 Java 更有效地反转数字

python - 自定义表单中的 django admin 日期时间小部件(日历)

javascript - 启用某些特定日期后禁用 pickadate (JavaScript) 中的日期

c# - 当 ShowToday 为 False 时,MonthCalendar 控件有额外边框