黑马程序员技术交流社区
标题:
这个程序的思想有点不太懂,能不能给说一下
[打印本页]
作者:
yunzhongzhuhuo
时间:
2014-3-3 20:03
标题:
这个程序的思想有点不太懂,能不能给说一下
Calendar cal=Calendar.getInstance();
cal.set(1931, 8,1);
int week=cal.get(Calendar.DAY_OF_WEEK)-1;
String []a=new String[week+30];
for(int i=0;i<week;i++){
a[i]="";
}
for(int i=week,n=1;i<week+30;i++){
a[i]=String.valueOf(n);
n++;
}
int year=cal.get(Calendar.YEAR);
int month=cal.get(Calendar.MONTH)+1;
System.out.printf("%4c%4c%4c%4c%4c%4c%4c\n",'日','一','二','三','四','五','六');
for(int i=0;i<a.length;i++){
if(i%7==0&&i!=0)
System.out.println();
System.out.printf("%5s",a[i]);
}
复制代码
作者:
平凡成就非凡
时间:
2014-3-3 20:14
我看拉一下你的代码,你是要设置一个日期,让它告诉你这是星期几,还有是哪一年的第几天是码。我基础测试的时候做过这题。给你看看代码
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)+"天");
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2