public class DateTest { private int getDayOfYear(int year, int month, int day) { Calendar calendar = new GregorianCalendar(year, month-1, day); return calendar.get(Calendar.DAY_OF_YEAR); } public static void main(String[] args) { DateTest test = new DateTest(); System.out.println(test.getDayOfYear(2008, 5, 2)); }}
int year; int month = 1; int day = 1;private static bool leapYear() { // 省略闰年判断方法 } private static int getLastDayOfMonth() { int days = {31,28,31,30,31,30,31,31,30,31,30,31}; if (leapYear() && month == 2) { return 29; } return days[month - 1]; } private statci void nextDay() { if (++day > getLastDayOfMonth()) { day = 1; if (++month > 12) { month = 1; year++; } } }public static int getDaysOfYear(int year,int month,int day) { this.year = year; int count = 0; while (true) { nextDay(); count++; if (month = this.month && day == this.day) { break; } } return count; }
import java.util.*; public class DJTian { public static void main(String args[]){ Scanner cs=new Scanner(System.in); System.out.println("请输入年"); int a=cs.nextInt(); System.out.println("请输入月"); int a1=cs.nextInt(); System.out.println("请输入日"); int a2=cs.nextInt(); boolean b; if(a%4!=0){ b=false; }else if (a%100!=0) { b=true; }else if (a%400!=0) { b=false; }else{ b=true; }if (b=true) { a=365; }else{ a=366; } if (a==365) { }
public class DateTest { private int getDayOfYear(int year, int month, int day) {
Calendar calendar = new GregorianCalendar(year, month-1, day);
return calendar.get(Calendar.DAY_OF_YEAR);
} public static void main(String[] args) {
DateTest test = new DateTest();
System.out.println(test.getDayOfYear(2008, 5, 2));
}}
int year;
int month = 1;
int day = 1;private static bool leapYear()
{
// 省略闰年判断方法
}
private static int getLastDayOfMonth()
{
int days = {31,28,31,30,31,30,31,31,30,31,30,31};
if (leapYear() && month == 2)
{
return 29;
}
return days[month - 1];
}
private statci void nextDay()
{
if (++day > getLastDayOfMonth())
{
day = 1;
if (++month > 12)
{
month = 1;
year++;
}
}
}public static int getDaysOfYear(int year,int month,int day)
{
this.year = year;
int count = 0;
while (true)
{
nextDay();
count++;
if (month = this.month && day == this.day)
{
break;
}
}
return count;
}
public class DJTian
{
public static void main(String args[]){
Scanner cs=new Scanner(System.in);
System.out.println("请输入年");
int a=cs.nextInt();
System.out.println("请输入月");
int a1=cs.nextInt();
System.out.println("请输入日");
int a2=cs.nextInt();
boolean b;
if(a%4!=0){
b=false;
}else if (a%100!=0)
{
b=true;
}else if (a%400!=0)
{
b=false;
}else{
b=true;
}if (b=true)
{
a=365;
}else{
a=366;
}
if (a==365)
{ }
}
}
我写到这就不会了~谁能帮我在谢谢!楼上的我看不懂啊!!在DOS下运行!
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();
}
}上面只是一个简单的程序,当然功能还可以更加的完善。
如果看不懂再上来,要告诉别人你已经学了哪些知识,别人才能够写你看的懂得代码。
int y=1999,m=11,d=21;//自己改成从键盘输入
Calendar cal=Calendar.getInstance();
cal.set(y,m,d);
System.out.println(cal.get(DAY_OF_YEAR));
}
不过感觉很麻烦 没有其他的什么好方法了
{
Calendar c = Calendar.getInstance();
c.set(year, month - 1, day);
return c.get(Calendar.DAY_OF_YEAR);
}注意在 Calendar 中月份是从 0 开始的,同时使用这段代码时应导入包:import java.util.Calendar;