DATE和DAY_OF_MONTH有啥区别 Calendar里的DATE和DAT_OF_MONTH有啥区别?在帮助里看着好像没区别为什么我做一道题的时候 把DATE设置成2结果是对的,可是把DAY_OF_MONTH设置成2就不对了,设置成1才对?谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.text.SimpleDateFormat;import java.util.Date;import java.util.Calendar;import java.util.Scanner;public class wenjian{public static void main(String args[]){int nian=0;int yue=0;Scanner dedao=new Scanner(System.in);System.out.print("请输入年:");nian=dedao.nextInt();System.out.print("请输入月:");yue=dedao.nextInt();if (nian<0 || yue<0 || yue>12)System.out.println("请输入正确的信息!");else{shijian a=new shijian(nian,yue);a.shezhiriqi();a.dedaoxingqi();a.jisuanxingqi();a.xianshi();}}}class shijian{//声明成员private int nian; //保存年private int yue; //保存月private String xingqi; //得到日期字符串private int shuzi = 0; //把日期转换成数字后保存到这里private int runnian = 0; //判断闰年//声明对象Date riqi = null;Calendar setriqi = Calendar.getInstance();SimpleDateFormat format = new SimpleDateFormat("E");//以下是构造方法public shijian(int nian, int yue) {this.nian = nian;this.yue = yue;if (nian % 4 == 0 && nian % 100 != 0) //判断闰年代码块runnian = 1;else if (nian % 100 == 0 && nian % 400 == 0)runnian = 1;}void shezhiriqi() { //把用户输入的年月设置为setriqi对象里的一部分setriqi.set(Calendar.YEAR, nian);setriqi.set(Calendar.MONTH, yue - 1);setriqi.set(Calendar.DAY_OF_MONTH, 1);riqi = setriqi.getTime(); //把设置后的时间生成一个Date对象返回给riqi引用}void dedaoxingqi() { // 输入riqi里的星期,把星期值赋给字符串xingqixingqi = format.format(riqi);System.out.println("xingqi: "+xingqi);}void jisuanxingqi() { //对xingqi的值进行检测if (xingqi.equals("星期一"))shuzi = 1;else if (xingqi.equals("星期二"))shuzi = 2;else if (xingqi.equals("星期三"))shuzi = 3;else if (xingqi.equals("星期四"))shuzi = 4;else if (xingqi.equals("星期五"))shuzi = 5;else if (xingqi.equals("星期六"))shuzi = 6;else if (xingqi.equals("星期日"))shuzi = 0;}void xianshi() {int tianshu; //检测用户输入的月份有多少天switch (yue) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:tianshu = 31;break;default:tianshu = 30;}if (runnian == 1 && yue == 2) //如果是闰年而且月份是2月tianshu = 29; //tianshu就是29else if (runnian != 1 && yue == 2)tianshu = 28; //如果不是闰年不过月份是2月 那tianshu就是28System.out.println("\t\t\t\t" + nian + "\t" + yue + "\n"); //输出System.out.println("\t日\t一\t二\t三\t四\t五\t六");for (int i = 0; i < shuzi; i++) { //输出tab 为了对齐System.out.print("\t");}for (int i = 1; i <= tianshu; i++, shuzi++) {if (shuzi == 7) { //把值循环输出System.out.print("\n");shuzi = 0;}System.out.print("\t" + i);}}}就是这些 你是要做一个日历出来吧 其实不用那么麻烦去判断是否是闰年 也不需要去用switch判断每个月多少天,我写个代码你运行一下 package project;import java.util.Calendar;public class CalendarTable { public CalendarTable() { } public static void main(String[] args) { Calendar rightNow = Calendar.getInstance(); int year, month; year = rightNow.get(Calendar.YEAR); month = rightNow.get(Calendar.MONTH); int num = rightNow.getActualMaximum(Calendar.DAY_OF_MONTH); rightNow.set(year, month, 1); int now = rightNow.get(Calendar.DAY_OF_WEEK); System.out.println("\t" + "\t" + "\t" + year + "年" + " " + (month + 1) + " 月"); System.out.println("\t" + "日" + "\t" + "一" + "\t" + "二" + "\t" + "三" + "\t" + "四" + "\t" + "五" + "\t" + "六"); for (int j = 1; j < (now); j++) { System.out.print("\t"); } for (int i = 1; i <= (num); i++) { System.out.print("\t" + i); if ((i + now - 1) % 7 == 0) { System.out.println(); } } }}这段代码是直接根据系统的时间打印当前时间的日历你可以改一下 改成通过输入来打印日历 呃 看的有点晕 可还是没有回答我的问题啊DATE和DAY_OF_MONTH有啥区别? 求助哈 如何用JAVA画一个菱形 Java中的String[求助] 在使用java读一个文件时,如何从上一次程序读的位置开始继续向下读 事件监听类的的写法,你感觉哪种更好? 如何侦测到IO流的结束,在线等,急!!! 我在执行HQL查询时,总是报错,请哪位高手指点!!急急 急!!!!!!!!!! 请问java怎么做金额线? 用JS调用OCX控件速度的问题,急! 请问与VC++库函数对应的Java的库函数?谢谢! 在netbeans中怎样隐藏一个JFrame
import java.util.Date;
import java.util.Calendar;
import java.util.Scanner;public class wenjian
{
public static void main(String args[])
{
int nian=0;
int yue=0;
Scanner dedao=new Scanner(System.in);System.out.print("请输入年:");
nian=dedao.nextInt();
System.out.print("请输入月:");
yue=dedao.nextInt();if (nian<0 || yue<0 || yue>12)
System.out.println("请输入正确的信息!");
else
{
shijian a=new shijian(nian,yue);
a.shezhiriqi();
a.dedaoxingqi();
a.jisuanxingqi();
a.xianshi();}}
}class shijian
{
//声明成员
private int nian; //保存年
private int yue; //保存月
private String xingqi; //得到日期字符串
private int shuzi = 0; //把日期转换成数字后保存到这里
private int runnian = 0; //判断闰年//声明对象
Date riqi = null;
Calendar setriqi = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("E");//以下是构造方法
public shijian(int nian, int yue) {
this.nian = nian;
this.yue = yue;if (nian % 4 == 0 && nian % 100 != 0) //判断闰年代码块
runnian = 1;
else if (nian % 100 == 0 && nian % 400 == 0)
runnian = 1;
}void shezhiriqi() { //把用户输入的年月设置为setriqi对象里的一部分
setriqi.set(Calendar.YEAR, nian);
setriqi.set(Calendar.MONTH, yue - 1);
setriqi.set(Calendar.DAY_OF_MONTH, 1);
riqi = setriqi.getTime(); //把设置后的时间生成一个Date对象返回给riqi引用
}void dedaoxingqi() { // 输入riqi里的星期,把星期值赋给字符串xingqi
xingqi = format.format(riqi);
System.out.println("xingqi: "+xingqi);
}void jisuanxingqi() { //对xingqi的值进行检测
if (xingqi.equals("星期一"))
shuzi = 1;
else if (xingqi.equals("星期二"))
shuzi = 2;
else if (xingqi.equals("星期三"))
shuzi = 3;
else if (xingqi.equals("星期四"))
shuzi = 4;
else if (xingqi.equals("星期五"))
shuzi = 5;
else if (xingqi.equals("星期六"))
shuzi = 6;
else if (xingqi.equals("星期日"))
shuzi = 0;
}void xianshi() {
int tianshu; //检测用户输入的月份有多少天
switch (yue) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
tianshu = 31;
break;
default:
tianshu = 30;
}if (runnian == 1 && yue == 2) //如果是闰年而且月份是2月
tianshu = 29; //tianshu就是29
else if (runnian != 1 && yue == 2)
tianshu = 28; //如果不是闰年不过月份是2月 那tianshu就是28System.out.println("\t\t\t\t" + nian + "\t" + yue + "\n"); //输出
System.out.println("\t日\t一\t二\t三\t四\t五\t六");for (int i = 0; i < shuzi; i++) { //输出tab 为了对齐
System.out.print("\t");
}
for (int i = 1; i <= tianshu; i++, shuzi++) {
if (shuzi == 7) { //把值循环输出
System.out.print("\n");
shuzi = 0;
}System.out.print("\t" + i);
}
}
}就是这些
public CalendarTable() {
} public static void main(String[] args) {
Calendar rightNow = Calendar.getInstance();
int year, month;
year = rightNow.get(Calendar.YEAR);
month = rightNow.get(Calendar.MONTH);
int num = rightNow.getActualMaximum(Calendar.DAY_OF_MONTH); rightNow.set(year, month, 1);
int now = rightNow.get(Calendar.DAY_OF_WEEK); System.out.println("\t" + "\t" + "\t" + year + "年" + " " + (month + 1) +
" 月");
System.out.println("\t" + "日" + "\t" + "一" + "\t" + "二" + "\t" + "三" +
"\t" + "四" + "\t" + "五" + "\t" + "六");
for (int j = 1; j < (now); j++) {
System.out.print("\t");
}
for (int i = 1; i <= (num); i++) {
System.out.print("\t" + i);
if ((i + now - 1) % 7 == 0) {
System.out.println();
}
}
}
}
这段代码是直接根据系统的时间打印当前时间的日历
你可以改一下 改成通过输入来打印日历