以下程序是实现输入日期yyyy-mm-dd输出日期的.但如果输入月份13就会进一年当1月处理.天出也是这样.
高手帮忙改一下,能提示输入月份日期超过可以提示的错误的.谢谢!!
import java.util.*;
import java.io.*;
import java.text.*;
public class MyCalendar1{
public static void main(String[] args){
DateFormat bpddf=DateFormat.getDateInstance();
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
String bpds="";
Date publishDate=null;
String[]days={"SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURSDAY"};
Calendar c=GregorianCalendar.getInstance();
boolean b=true;
while(b){
System.out.print("Please input YEAR-MONTH-DAY");
System.out.println();
try{ bpds=reader.readLine();
publishDate=bpddf.parse(bpds);
b=false;
}catch(Exception e){
System.out.print("ERROR\n");
continue;
}
}
int year,month,day;String date;
year=publishDate.getYear()+1900;
month=publishDate.getMonth();
day=publishDate.getDate();
System.out.println(year+" "+month+" "+day);
c.set(year,month,day);
System.out.println("The day is"+days[c.get(Calendar.DAY_OF_WEEK)-1]);
}
}
高手帮忙改一下,能提示输入月份日期超过可以提示的错误的.谢谢!!
import java.util.*;
import java.io.*;
import java.text.*;
public class MyCalendar1{
public static void main(String[] args){
DateFormat bpddf=DateFormat.getDateInstance();
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
String bpds="";
Date publishDate=null;
String[]days={"SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURSDAY"};
Calendar c=GregorianCalendar.getInstance();
boolean b=true;
while(b){
System.out.print("Please input YEAR-MONTH-DAY");
System.out.println();
try{ bpds=reader.readLine();
publishDate=bpddf.parse(bpds);
b=false;
}catch(Exception e){
System.out.print("ERROR\n");
continue;
}
}
int year,month,day;String date;
year=publishDate.getYear()+1900;
month=publishDate.getMonth();
day=publishDate.getDate();
System.out.println(year+" "+month+" "+day);
c.set(year,month,day);
System.out.println("The day is"+days[c.get(Calendar.DAY_OF_WEEK)-1]);
}
}
用除法求进位