我看拉一下你的代码,你是要设置一个日期,让它告诉你这是星期几,还有是哪一年的第几天是码。我基础测试的时候做过这题。给你看看代码
import java.io.*;
import java.util.*;
/**
* 9 编写程序,该程序启动后用户可以按yyyy-mm-dd的格式输入一个日期,
* 程序计算这一天是星期几,并且计算出是一年中的第几天
*
* */
class Test9
{
public static void main(String[] args) throws IOException
{
System.out.println("请你以yyyy-mm-dd的格式输入日期");
//从键盘接受数据
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
//读取一行
String st=bufr.readLine();
//把字符串切割成字符串数组
String[] arr=st.split("-");
//获取年
int year=Integer.parseInt(arr[0]);
//获取月 -1是因为计算机是从0开始计算月的
int month=(Integer.parseInt(arr[1]))-1;
//获取天
int day=Integer.parseInt(arr[2]);
//创建一个日历对象
Calendar c=Calendar.getInstance();
//设置日期
c.set(year,month,day);
//调用日历打印方法
printCalendar(c);
}
public static void printCalendar(Calendar c)
{
//创建月的表
String[] mon={"1月","2月","3月","4月"
,"5月","6月","7月","8月"
,"9月","10月","11月","12月"};
//创建星期的表
String[] week={"","星期天","星期一","星期二"
,"星期三","星期四","星期五","星期六"};
//获取月表索引
int index=c.get(Calendar.MONTH);
//获取星期表索引 是从星期天开始算的
int index1=c.get(Calendar.DAY_OF_WEEK);
//获取年
System.out.println(c.get(Calendar.YEAR)+"年");
//获取月
System.out.println(mon[index]);
//获取天
System.out.println(c.get(Calendar.DAY_OF_MONTH)+"日");
//获取星期几
System.out.println(week[index1]);
//获取是今年的第几天
System.out.println("是这一年中的第"+c.get(Calendar.DAY_OF_YEAR)+"天");
}
}
|