Java给出年分m和一年中的第n天,算出第n天是几月几号。

import java.util.Scanner;public class daac { public static void main(String[] args){ Scanner as=new Scanner(System.in); int a[]={31,29,31,30,31,30,31,31,30,31,30,31}; int b[]={31,28,31,30,31,30,31,31,30,31,30,31}; while(true){ int y=as.nextInt(); int d=as.nextInt(); int m=0; int n=0; {if(y%4==0&&y%100!=0||y%400==0) while(d>0){ for(int i=0;i<12;i++){ d=d-a[i]; if(d<=0){ m=i+1; n=a[i]+d;break;} } } else while(d>0){ for(int i=0;i<12;i++) { d=d-b[i];if(d<=0){m=i+1; n=b[i]+d;break; } } } } if(m<10&&n<10){ System.out.print(y+"-"); System.out.print(0); System.out.print(m+"-"); System.out.print(0); System.out.println(n);} else if(m<10&&n>=10) { System.out.print(y+"-"); System.out.print(0); System.out.print(m+"-"); System.out.println(n);} else if(m>=10&&n<10) { System.out.println(y+"-"); System.out.print(m+"-"); System.out.print(0); System.out.print(n);} else System.out.println(y+"-"+m+"-"+(n));} }}

求指教

第1个回答  2013-09-19
我重新编译运行了,应该没有问题。 运行的时候,要输入三个数字,如:

java daac 2013 09 20
第2个回答  2013-09-19
int y = as.nextInt();
int d = as.nextInt();
需要放到while(true)循环外面。本回答被提问者采纳
第3个回答  2013-09-20
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Scanner;
相似回答