新手问题!求助!
先输入年在输入月然后在输入日~得出这是这一年的第几天!谁能帮我写个代码让我看看啊?谢谢了!!
------解决方案--------------------
package com.cslg.xuxing.cn;
import java.util.Scanner;
public class Demo01 {
public static void main(String args[])
{
Scanner cs=new Scanner(System.in);
int totalday=0;
//下面是一个存放一年十二个月的天数的数组
int []monthday={31,28,31,30,31,30,31,31,30,31,30,31};//这里默认2月份是28天当判断是润年后再在总天数上加上1
System.out.println("请输入年(between 1900 and 5000):");
int year=cs.nextInt();
boolean isrun=false; //判断是否是润年
System.out.println("请输入月(between 1 and 12):");
int month=cs.nextInt();
System.out.println("请输入日(between 1 and 31):");
int day=cs.nextInt(); //上面我们获得了年月日的值
if((year%4==0 && year%100!=0) || year %400==0 ){ //判断润年看是否能被400整除或者能被4整除但不能被100整除
isrun=true; //此时就是润年,特别要注意二月份
}
int i=1; //局部变量
while(i!=month){ //使用while进行循环此时输入的month这个月不能加到总天数中所以循环到这个月
totalday=monthday[i-1]+totalday; //这里数组的第一个值对应的下标是0所以i需要减去1才能够得到第一个月份的天数
i++; //这个不能少是循环的关键
}
if(isrun && month>2){
totalday=day+totalday+1; //要在总的天数加上1必须是月份大于2并且要是润年,否则没有必要加
}
else
totalday=day+totalday;
System.out.println(year+"年"+month+"月" +day+"日"+"是一年中的第:"+totalday+"天!"); //打印出总的天数
cs.close();
}
}
上面只是一个简单的程序,当然功能还可以更加的完善。
如果看不懂再上来,要告诉别人你已经学了哪些知识,别人才能够写你看的懂得代码。