永发信息网

问题,输入某年某月某日,判断这一天是这一年的第几天?(这是我用java写的代码如下:)

答案:3  悬赏:0  手机版
解决时间 2021-02-20 03:55
请教各位大侠,改怎么改,菜鸟才刚刚开始学java。非常感谢!
public static void main(String[] args) {
// TODO Auto-generated method stub
int year,lemp;
int month=3,day=12;
int i;
switch(month){
case 1:i=0;break;
case 2:i=30;break;
case 3:i=58;break;
case 4:i=89;break;
case 5:i=119;break;
case 6:i=150;break;
case 7:i=180;break;
case 8:i=211;break;
case 9:i=242;break;
case 10:i=273;break;
case 11:i=303;break;
case 12:i=334;break;
//default;
}
i=i+day;
if(year%400==0||(year%100!=0&&year%4==0)){ //判断是否为闰年
lemp=1;
}else
lemp=0;

if(lemp==1&&month>2){ // 如果是闰年且月份大于二,总天数应该加一
i++;
}
System.out.println("这一天是以年中的第:"+i+"天!");
}
}
最佳答案
public static void main(String[] args) {
// TODO Auto-generated method stub
int year = 2012, lemp;
int month = 2, day = 21;
int i = 0;
switch (month) {
case 1:
i = 0;
break;
case 2:
i = 31;
break;
case 3:
i = 59;
break;
case 4:
i = 90;
break;
case 5:
i = 120;
break;
case 6:
i = 151;
break;
case 7:
i = 181;
break;
case 8:
i = 212;
break;
case 9:
i = 243;
break;
case 10:
i = 273;
break;
case 11:
i = 304;
break;
case 12:
i = 334;
break;
// default;
}
i = i + day;
if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) { // 判断是否为闰年
lemp = 1;
} else
lemp = 0;

if (lemp == 1 && month > 2) { // 如果是闰年且月份大于二,总天数应该加一
i++;
}
System.out.println("这一天是以年中的第:" + i + "天!");
}

注意一月是31天哦!!!
按照你的思路可以这样改,但是还有别的更好办法
全部回答
完整修改如下: public static void main(String[] args) { int year = 2011, lemp; int month = 3, day = 11; int i = 0; switch (month) { case 1: i = 0; break; case 2: i = 30; break; case 3: i = 58; break; case 4: i = 89; break; case 5: i = 119; break; case 6: i = 150; break; case 7: i = 180; break; case 8: i = 211; break; case 9: i = 242; break; case 10: i = 273; break; case 11: i = 303; break; case 12: i = 334; break; // default; } i = i + day; if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) {//判断是否为闰年 lemp = 1; } else lemp = 0; if (lemp == 1 && month > 2) {// 如果是闰年且月份大于二,总天数应该加一 i++; } System.out.println("这一天是以年中的第:"+i+"天!"); }
import java.text.simpledateformat; import java.util.calendar; import java.util.scanner; public class getdate { public static void main(string[] args) { scanner scanner = new scanner(system.in); system.out.println("请输入年:"); int year = scanner.nextint(); system.out.println("请输入月:"); int month = scanner.nextint(); system.out.println("请输入日:"); int day = scanner.nextint(); calendar calendar1 = calendar.getinstance(); calendar1.set(year, 0, 1); long time1 = calendar1.gettimeinmillis(); calendar calendar2 = calendar.getinstance(); calendar2.set(year, month - 1, day); long time2 = calendar2.gettimeinmillis(); long result = (time2 - time1) / 1000 / 60 / 60 / 24; simpledateformat format = new simpledateformat("yyyy/mm/dd"); system.out.println(format.format(calendar2.gettime()) + "距离" + format.format(calendar1.gettime()) + "有" + result + "天"); } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
方城县南阳拐河镇扶贫服务中心地址在哪,我要
关于罚息的计算
壹号店网络生活馆在什么地方啊,我要过去处理
汽车要开多少公里后做保养最好
不炼金丹不坐禅,不为商贾不耕田是什么意思
去哪看油菜花
费恩曼的物理讲义 物理学专业学的书吗?
怎样实现JFrame中两个甚至多个JPanel进行切换
不败传奇繁体字怎样写
教我从一数到十一。用英语中文翻译
写合肥步行街的作文 要求300字 不要写得太高
请问一下有人知道电脑内存卡坏了,怎么修复? 
大航海时代外传投资港口有什么用?
十字路口,一辆大车在直行到等了十几秒红灯,
如果老婆有钱。在开始处对象和结婚的时候,男
推荐资讯
解不等式3.5x-4>1/2x+2,把解表示在数轴
鸡兔同笼问题中可能不可能全是鸡或者是全是兔
“随着19世纪的过去,科学成为西方社会的一个
茅家埠景区停车场在哪里啊,我有事要去这个地
l负2.5x括号负2右3分之1等于
金足园养生会馆这个地址在什么地方,我要处理
鼻子里如果没有了鼻毛会怎样?
2017年1月份哈尔滨天气预报
义乌网上预约科目三29万要等多久
【大物是什么意思】废然大物是什么意思?
南桥绿地铂骊酒店我想知道这个在什么地方
沈阳市辉山纪念林电话号码
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?