「java输出当年日历」用java输入年份月份输出
今天给各位分享java输出当年日历的知识,其中也会对用java输入年份月份输出进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、关于java中输出日历
- 2、Java编写程序,输入年份,输出本年度各月份日历
- 3、用java Calendar类输出一个日历
- 4、编写java程序,由键盘输入年份,显示当年日历,要求使用数组。
- 5、java中如何输出当时的日期和时间?
- 6、做一个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输出当年日历的信息别忘了在本站进行查找喔。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。