「java输出当年日历」用java输入年份月份输出

博主:adminadmin 2022-11-28 14:19:10 49

今天给各位分享java输出当年日历的知识,其中也会对用java输入年份月份输出进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

关于java中输出日历

第一句将用户输入的数字设为日历对象的“年”成员变量,第二句和第三句同样,一个是月份,一个是按照每月第一天开始的日期,第四句用于取得一个默认的日历对象。

Java编写程序,输入年份,输出本年度各月份日历

写了个简明的,

import java.util.Calendar;

import java.util.Scanner;

public class Test {

static public void main(String 参数[]){

Calendar c = Calendar.getInstance();

Scanner sc = new Scanner(System.in);

System.out.println("请输入年份:");

int year= sc.nextInt();

c.set(Calendar.YEAR, year);

c.set(Calendar.MONTH, Calendar.JANUARY);

c.set(Calendar.DAY_OF_MONTH, 1);

while(c.get(Calendar.YEAR)==year){

int wday=c.get(Calendar.DAY_OF_WEEK);

int mday=c.get(Calendar.DAY_OF_MONTH);

if(mday==1){

System.out.println("\n日\t一\t二\t三\t四\t五\t六\t第"+(c.get(Calendar.MONTH)+1)+"月");

System.out.println("---------------------------------------------------");

for(int i=0;iwday-1;i++) System.out.print(" \t");

}

System.out.print(mday+"\t");

if(wday==7) System.out.println();

c.add(Calendar.DAY_OF_YEAR, 1);

}

}

}

=======

请输入年份:

2012

日 一 二 三 四 五 六 第1月

---------------------------------------------------

1 2 3 4 5 6 7

8 9 10 11 12 13 14

15 16 17 18 19 20 21

22 23 24 25 26 27 28

29 30 31

日 一 二 三 四 五 六 第2月

---------------------------------------------------

1 2 3 4

5 6 7 8 9 10 11

12 13 14 15 16 17 18

19 20 21 22 23 24 25

26 27 28 29

日 一 二 三 四 五 六 第3月

---------------------------------------------------

1 2 3

4 5 6 7 8 9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30 31

日 一 二 三 四 五 六 第4月

---------------------------------------------------

1 2 3 4 5 6 7

8 9 10 11 12 13 14

15 16 17 18 19 20 21

22 23 24 25 26 27 28

29 30

日 一 二 三 四 五 六 第5月

---------------------------------------------------

1 2 3 4 5

6 7 8 9 10 11 12

13 14 15 16 17 18 19

20 21 22 23 24 25 26

27 28 29 30 31

日 一 二 三 四 五 六 第6月

---------------------------------------------------

1 2

3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

日 一 二 三 四 五 六 第7月

---------------------------------------------------

1 2 3 4 5 6 7

8 9 10 11 12 13 14

15 16 17 18 19 20 21

22 23 24 25 26 27 28

29 30 31

日 一 二 三 四 五 六 第8月

---------------------------------------------------

1 2 3 4

5 6 7 8 9 10 11

12 13 14 15 16 17 18

19 20 21 22 23 24 25

26 27 28 29 30 31

日 一 二 三 四 五 六 第9月

---------------------------------------------------

1

2 3 4 5 6 7 8

9 10 11 12 13 14 15

16 17 18 19 20 21 22

23 24 25 26 27 28 29

30

日 一 二 三 四 五 六 第10月

---------------------------------------------------

1 2 3 4 5 6

7 8 9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28 29 30 31

日 一 二 三 四 五 六 第11月

---------------------------------------------------

1 2 3

4 5 6 7 8 9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30

日 一 二 三 四 五 六 第12月

---------------------------------------------------

1

2 3 4 5 6 7 8

9 10 11 12 13 14 15

16 17 18 19 20 21 22

23 24 25 26 27 28 29

30 31

用java Calendar类输出一个日历

给你个例子,这个写的不好,回去再给你写个

import java.util.Calendar;

public class $ {

public static void main(String... _) {

String str = test(2012, 6);

System.out.println(str);

}

private static String test(int year, int month) {

Calendar c = Calendar.getInstance();

c.set(Calendar.YEAR, year);

c.set(Calendar.MONTH, month - 1);

String str = "日\t一\t二\t三\t四\t五\t六\r";

int day = getDay(year, month - 1);

c.set(Calendar.DAY_OF_MONTH, 1);

str += getStartWeizhi(c);

for (int i = 2; i = day; i++) {

c.set(Calendar.DAY_OF_MONTH, i);

if (c.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {

str += i + "\r";

} else {

str += i + "\t";

}

}

return str;

}

private static int getDay(int year, int month) {

int[] DAYS = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

if (month != 2) {

return DAYS[month];

}

if ((year % 4 == 0 year % 100 != 0) || year % 400 == 0) {

return 29;

}

return DAYS[month];

}

private static String getStartWeizhi(Calendar c) {

int idx = c.get(Calendar.DAY_OF_WEEK);

StringBuffer buf = new StringBuffer();

for (int i = 0; i idx - 1; i++) {

buf.append(" \t");

}

if (Calendar.SATURDAY == idx) {

buf.append(c.get(Calendar.DAY_OF_MONTH) + "\r");

} else {

buf.append(c.get(Calendar.DAY_OF_MONTH) + "\t");

}

return buf.toString();

}

}

结果:

日 一 二 三 四 五 六

1 2

3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

编写java程序,由键盘输入年份,显示当年日历,要求使用数组。

首先键盘输入的话多种方式实现,提供两种,一是使用main方法的arg参数,也就是在使用java命令的时候后面跟上参数,在main方法里调用arg[0]即可,第二种方法是使用scanner类来得到system.in的内容

然后就是打印全年,这个只要使用calendar类即可,得到calendar对象以后通过一个循环365次,不断的day加一即可

java中如何输出当时的日期和时间?

代码如下:

package com.grace.test;  

  

import java.text.DateFormat;  

import java.text.ParseException;  

import java.text.SimpleDateFormat;  

import java.util.Calendar;  

import java.util.Date;  

  

public class showDate {  

    public static void main(String[] args) throws ParseException {  

  

        Date d = new Date();  

        String s = null;  

  

        /** 输出格式: Mon May 05 15:23:58 CST 2014 */  

        System.out.println(d);  

  

        /** 输出格式: 2014-5-5 */  

        s = DateFormat.getDateInstance().format(d);  

        System.out.println(s);  

  

        /** 输出格式: 2014-5-5 */  

        s = DateFormat.getDateInstance(DateFormat.DEFAULT).format(d);  

        System.out.println(s);  

  

        /** 输出格式: 2014年5月5日 星期一 */  

        s = DateFormat.getDateInstance(DateFormat.FULL).format(d);  

        System.out.println(s);  

  

        /** 输出格式: 2014-5-5 */  

        s = DateFormat.getDateInstance(DateFormat.MEDIUM).format(d);  

        System.out.println(s);  

  

        /** 输出格式: 14-5-5 */  

        s = DateFormat.getDateInstance(DateFormat.SHORT).format(d);  

        System.out.println(s);  

  

        /** 输出格式: 2014-5-05 00:00:00 大写H为24小时制 */  

        DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  

        s = sdf.format(d);  

        System.out.println(s);  

  

        /** 输出格式: 2014-5-05 00:00:00 小写h为12小时制 */  

        DateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  

        s = sdf2.format(d);  

        System.out.println(s);  

  

        /** 输出格式: 20140505000000 */  

        DateFormat sdf3 = new SimpleDateFormat("yyyyMMddHHmmss");  

        s = sdf3.format(d);  

        System.out.println(s);  

  

        /** 字符串转换城日期格式 */  

        s = sdf.format(d);  

        Date today = sdf.parse(s);  

        System.out.println("字符串转成日期1:" + today);  

        System.out.println("字符串转成日期2:" + sdf.format(today));  

  

        /** 单独输出年月日时分秒等 */  

        Calendar c = Calendar.getInstance();  

        System.out.println("年: " + c.get(Calendar.YEAR));  

        // 月份从0开始,加1校正  

        System.out.println("月: " + (c.get(Calendar.MONTH) + 1) + "");  

        System.out.println("日: " + c.get(Calendar.DAY_OF_MONTH));  

        System.out.println("时: " + c.get(Calendar.HOUR_OF_DAY));  

        System.out.println("分: " + c.get(Calendar.MINUTE));  

        System.out.println("秒: " + c.get(Calendar.SECOND));  

        System.out.println("当前时间毫秒数:" + c.getTimeInMillis());  

        System.out.println("当前时间: " + c.getTime());  

    }  

}

做一个java日历,只输入年份,然后输入这一年一月一号是星期几,就可以直接输出这一年的日历,求解

import java.io.*;

public class Leap

{

static void put(String s)

{

System.out.println(s);

}

static int getWeekNum(int y,int m, int d)

{

int w;

if(m==1||m==2)

{

y--;

m=m+12;

}

w=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;

return w;

}

static int getNum(int y,int m,int d)

{

int []list={31,0,31,30,31,30,31,31,30,31,30,31};

int sum=0;

for(int i=0;i!=m-1;i++)

sum+=list[i];

if(m=3)

sum+=(((y%100==0)||(y%100!=0y%4==0))?29:28);

sum+=d;

return sum;

}

static int getMonthDay(int y,int m)

{

switch(m)

{

case 2:

if((y%100==0)||(y%100!=0y%4==0))

return 29;

else

return 28;

case 4:

case 6:

case 9:

case 11:

return 30;

default:

return 31;

}

}

public static void main(String []args)

{

BufferedReader rd=new BufferedReader(new InputStreamReader(System.in),1);

int y,m,d,i,j;

int[][] list=new int[6][7];

for(i=0;i!=6;i++)

{

for(j=0;j!=7;j++)

list[i][j]=0;

}

put("please enter a date:[YYYY MM DD]");

try{

y=Integer.parseInt(rd.readLine());

m=Integer.parseInt(rd.readLine());

d=Integer.parseInt(rd.readLine());

put("当年第"+getNum(y,m,d)+"日.");

put("日 一 二 三 四 五 六");

j=getWeekNum(y,m,d);

int md=getMonthDay(y,m);

for(i=j;i!=md+j;i++)

list[i/7][i%7]=i-j+1;

for(i=0;i!=6;i++)

{

for(j=0;j!=7;j++)

if(list[i][j]!=0)

System.out.printf("%-3d",list[i][j]);

else

System.out.print(" ");

put("");

}

}catch(IOException ex){}

}

}

java输出当年日历的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于用java输入年份月份输出、java输出当年日历的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。