傅欽 2023-04-09 14:45 采纳率: 100%
浏览 31
已结题

java给年月来打印日历,输出有问题

输出的时候出现了问题,请各位帮忙看一下
题:输入年份以及月份,大于1900时打印出该年该月份的日历
思路:求1900年到输入年份之间的累计天数以及1月到输入月份之间的累计天数。得到1900-1-1到输入年月之前所有天数,用总天数对7求余,对余数加1,该数值即为该月1号的星期。判断输入月份有多少天,打印日历。
以下是代码:


import java.util.Scanner;
public class Calendar{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int year=sc.nextInt();
int month=sc.nextInt();
int r=0;
int sum=0;
if(year<1900){
  System.out.println("请输入大于或等于1900的年份");
}else{
  System.out.println("==================================================");
  System.out.println("日\t一\t二\t三\t四\t五\t六");

  for(int i=1900;i<year;i++){
    if((i%4==0&&i%100!=0)||i%400==0){
      sum+=366;
  }
  else{sum+=365;}
  }

  for(int i=1;i<=month;i++){
    switch(i){
       case 1:
       case 3:
       case 5:
       case 7:
       case 8:
       case 10:
       case 12:
       r=31;
       break;

       case 4:
       case 6:
       case 9:
       case 11:
       r=30;
       break;

       case 2:
       if ((year%4==0&&year%100!=0)||year%400==0){
       r=29;}
       else{
       r=28;}
       break; 
     }

     if(i<month)
     sum+=r;
  }

  System.out.println(sum);
  int count=(sum+1)%7;
  System.out.println(count);
  for(int i=1;i<=count;i++)
  System.out.print("\t");

  for(int i=1;i<=r;i++){
    System.out.printf("%d\t",i);

    if((i+count)%7==0)
    System.out.println();
  }

  System.out.println();
  System.out.println("=================================================");
}
}
  }

输出情况:

img

  • 写回答

5条回答 默认 最新

  • threenewbee 2023-04-09 14:50
    关注

    System.out.println(sum);
    System.out.println(count);
    这个去掉啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 4月17日
  • 已采纳回答 4月9日
  • 创建了问题 4月9日

悬赏问题

  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备