中易网

用java编写程序,显示2006—2099年之间的闰年,要求每行显示,我下面的程序哪里错了,哪里还要改正,求解

答案:3  悬赏:0  
解决时间 2021-02-12 21:11
用java编写程序,显示2006—2099年之间的闰年,要求每行显示,我下面的程序哪里错了,哪里还要改正,求解
最佳答案
我给你闰年的 代码 你先看看 你在其中修改 有些东西只是参考 但要吸纳和理解 需要自己去动脑和动手去解决 它才是你想得到的东西 scanner input = new scanner(system.in); system.out.print("请选择年份(注:必须大于1990年):"); int year = input.nextint(); system.out.print("请选择月份:"); int month = input.nextint(); // 是否为闰年 boolean isren; // 计算瑞年公式 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { system.out.println(year + "闰年"); isren = true; } else { system.out.println(year + "平年"); isren = false; } // 记录当月的天数 int day = 0; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31; break; case 4: case 6: case 9: case 11: day = 30; break; default: if (isren) { day = 29; } else { day = 28; } break; } system.out.println(year + "年" + month + "月" + day + "天"); // 统计从1900年至指定日期的天数 int sum = 0; for (int i = 1990; 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++) { // 大月 if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12) { sum += 31; } // 小月 else if (i == 4 || i == 6 || i == 9 || i == 11) { sum += 30; } // 二月 else { // 判断瑞年平年 if (isren) { sum += 29; } else { sum += 28; } } } system.out.print("1990年到" + year + "年" + month + "月1日一共" + (sum + 1) + "天"); system.out.println("到上个月底" + (sum) + "天"); //该公式起始时间为1990年,其实你要是细心的话,你会发现1900年和1990年的1月第一天都是一个空格,往后基本就是一次大的循环周期了.年的判断大致也是如此.希望在以后学习编程的生涯中你只在问问上问大家要思路,而不是要源码. int dw = sum % 7 + 1; //输出星期,看看计算机上边的星期是如何排列的,你的排列基本是错误的. system.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六"); // 记录打印了多少次从1开始,因为没7次需要一次换行 int temp = 1; // 循环打印出空格,更具公式计算出当月前空格数量 for (int i = 0; i < dw; i++) { system.out.print("\t"); temp++; } // 避免已经输入了7次空格后继续追加的判断 if (temp > 7) { system.out.println(""); temp = 1; } for (int i = 1; i <= day; i++) { if (temp % 7 == 0) { system.out.println(i + ""); // 再次初始化打印的次数 temp = 1; } else { system.out.print(i + "\t"); temp++; } }
全部回答
public class Leapyear{ public static void main(String args[]){ int i,j=0; // int year=0; for(i=2006;i<=2099;i++){ // if((year%4==0&&year%100!=0)||(year%400==0)) { if((i%4==0&&i%100!=0)||(i%400==0)) { j++; // System.out.print(j+"\t"); System.out.print(i+"\t"); if(j%5==0) {System.out.println();} } } // if(year%5==0) System.out.println(); } }
遍历的是年还是i?如果是年份,为什么把i放入循环?如果i代表年份,为什么用year去整除4和400?如果你要输出的是i或者year,为什么打印时的变量是j? 还有year%5==0的意义在做什么?
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
合肥理科男生大专学什么专业好?2010有那些热
诺基亚Lumia系列的产品先后列表
曾家饺子馆地址在哪,我要去那里办事
脸部运动教案
我老公常说吃水果有层蜡,那如何清洗水果才可
大二学生可以直接找工作么
褒的拼音是什么
有谁知道电视台推出哪个关于鉴宝节目?
洁神干洗店地址在什么地方,想过去办事
龙之谷月主,狂战,毁灭,那个刷图厉害,又省
许多年以后 等待成为遗憾 是哪个电影里的台词
二手iphone6p多少可以入手?
新目标英语培训学校地址在哪,我要去那里办事
想哭时候想死。请问该怎么办?
交通事故对方要求去4s店维修怎么办
推荐资讯
哈弗h六车质量怎么样
有哪个京剧剧本是符合“郎骑竹马来”的意境的
国泰君安股票交易系统延迟的问题
永年集团在什么地方啊,我要过去处理事情
在成都应届毕业的大学生去当兵有何优惠条件?
表哥帮忙介绍了一份工作但是不想去不知道怎么
如果一个女生曾经打过一次胎,能否检查得出来
求康姿百德健身操全套下载
虞城县自来水公司地址在什么地方,想过去办事
千台山地址在什么地方,想过去办事
弗洛尔的无尽抗性宝箱
“回眸”中的“眸”字怎么读?是读“mou”吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?