这是我的题目和自己做的答案代码;
其中的switch语句我觉得有点麻烦;想看看有没有其他更简单的做法替换掉switch语句
/*9、 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,
并且计算出是一年中的第几天。*/
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;
import java.util.Date;
public class Problem9{
public static void main(String[] args){
Scanner r=new Scanner(System.in);
String x=r.nextLine();
String regex="\\D";
String a[]=x.split(regex);
int y=Integer.parseInt(a[0]);
int m=Integer.parseInt(a[1]);
int d=Integer.parseInt(a[2]);
int n=d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1;
switch(n%7) {
case 1:System.out.println("今天是星期一");
break;
case 2:System.out.println("今天是星期二");
break;
case 3:System.out.println("今天是星期三");
break;
case 4:System.out.println("今天是星期四");
break;
case 5:System.out.println("今天是星期五");
break;
case 6:System.out.println("今天是星期六");
break;
case 0:System.out.println("今天是星期天");
}
try{
DateFormat fm = new SimpleDateFormat("yyyy-MM-dd");
Date date=fm.parse(x);
String str = String.format("%tj",date);
System.out.println("今天是这年的第"+str+"天");
}catch (ParseException e) {
e.printStackTrace();
}
}
} |
|