有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java制作儒略历

我对Java有点陌生。我在编写从“runarguments”命令接受一年的日历时遇到了一些问题。我的导师提供了一个班级,给出了一年中一月一日的工作日。如果我理解正确的话,我们只需要知道一月什么时候开始知道其他月份开始的工作日。我需要一些帮助,因为每个月我只能在一月份的第一天完成。另外,我也希望在到达最后一个工作日后,能提供一些帮助,将这些天带到新的工作线。提前谢谢大家

import java.util.Calendar;
public class JulianCalendar
{
   public static void main(String[] args)
   {
      JulianDate JD = new JulianDate();
      int date = JD.toJulian(2018,1,1);
      int dayOfWeek = (date+1)%7;
      printCalendar();
   }
   public static void printCalendar()
   {
      JulianDate JD = new JulianDate();
      int date = JD.toJulian(2018,1,1);
      int dayOfWeek = (date+1)%7;
      int currentyear = Calendar.getInstance().get(Calendar.YEAR);
      for (int month=1; month <= 12; month++)
      {
         String monthString;
         //prints out months
         switch (month) 
         {
            case 1:  monthString = "January";
                     break;
            case 2:  monthString = "February";
                     break;
            case 3:  monthString = "March";
                     break;
            case 4:  monthString = "April";
                     break;
            case 5:  monthString = "May";
                     break;
            case 6:  monthString = "June";
                     break;
            case 7:  monthString = "July";
                     break;
            case 8:  monthString = "August";
                     break;
            case 9:  monthString = "September";
                     break;
            case 10: monthString = "October";
                     break;
            case 11: monthString = "November";
                     break;
            case 12: monthString = "December";
                     break;
            default: monthString = "Invalid month";
                     break;
          }
          System.out.printf("\n%17s\n",monthString);
          System.out.println("\nSun Mon Tue Wed Thu Fri Sat");
          System.out.print("  ");
          for(int i=0; i<dayOfWeek;i++)
          {
            System.out.print("    ");
          }
          int days=0;
          switch (month)
          {
            case 1:  days = 31;
                     break;
            case 2:  days = 28;
                     break;
            case 3:  days = 31;
                     break;
            case 4:  days = 30;
                     break;
            case 5:  days = 31;
                     break;
            case 6:  days = 30;
                     break;
            case 7:  days = 31;
                     break;
            case 8:  days = 31;
                     break;
            case 9:  days = 30;
                     break;
            case 10: days = 31;
                     break;
            case 11: days = 30;
                     break;
            case 12: days = 31;
                     break;
          }
          for (int i=1; i<=days; i++)
          {
            System.out.printf("%-4d",i);
          }
      }
   }
}

共 (0) 个答案