输入某年某月 打印出当月日历,要求日期和星期对应,用JAVA语言

看准题目哈,网上复制不到的,快并且格式正确的请输入年份:请输入月份:打印大致格式日一二三四五六12345678910111213141516171819202122232... 看准题目哈,网上复制不到的,快并且格式正确的
请输入年份:
请输入月份:

打印大致格式
日 一 二 三 四 五 六
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
展开
 我来答
sssnan880127
推荐于2016-02-20 · TA获得超过565个赞
知道小有建树答主
回答量:395
采纳率:100%
帮助的人:146万
展开全部
import java.util.*;

public class riqi {
public static void main(String[] args) {
int totaldays = 0;
int dayofmonth = 0;
int twomonth;
Scanner input = new Scanner(System.in);
System.out.print("请输入年份:");
int year = input.nextInt(); // 输入年份
System.out.print("请输入月份:");
int month = input.nextInt(); // 输入月份
for (int i = 1900; i < year; i++) {
if (((i % 4 == 0) && (i % 100 != 0)) || (i % 400 == 0)) {
totaldays = totaldays + 366;
} else {
totaldays = totaldays + 365;
}
}
for (int nomonth = 1; nomonth <= month; nomonth++) {
if (nomonth == 1 || nomonth == 3 || nomonth == 5 || nomonth == 7
|| nomonth == 8 || nomonth == 10 || nomonth == 12) {
dayofmonth = 31;
} else if (nomonth == 2) {
if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) {
dayofmonth = 29;
} else {
dayofmonth = 28;
}
} else {
dayofmonth = 30;
}
if (nomonth < month) {
totaldays = totaldays + dayofmonth;
}
// System.out.println(totaldays);
}

System.out.println("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期天");
int temp = (totaldays % 7);
// System.out.print(temp);
for (int p = 0; p < temp; p++) {
System.out.print("\t");

}
for (int w = 1; w <= dayofmonth; w++) {
System.out.print(w + "\t");
if ((totaldays + w) % 7 == 0) {
System.out.println();
}
}

}

}

参考资料: 自己做的

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
T启动
2019-03-16
知道答主
回答量:3
采纳率:0%
帮助的人:2291
展开全部


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哀韶萧贝晨
2013-04-16 · TA获得超过3595个赞
知道大有可为答主
回答量:2954
采纳率:29%
帮助的人:418万
展开全部
import
java.util.*;
public
class
riqi
{
public
static
void
main(String[]
args)
{
int
totaldays
=
0;
int
dayofmonth
=
0;
int
twomonth;
Scanner
input
=
new
Scanner(System.in);
System.out.print("请输入年份:");
int
year
=
input.nextInt();
//
输入年份
System.out.print("请输入月份:");
int
month
=
input.nextInt();
//
输入月份
for
(int
i
=
1900;
i
<
year;
i++)
{
if
(((i
%
4
==
0)
&&
(i
%
100
!=
0))
||
(i
%
400
==
0))
{
totaldays
=
totaldays
+
366;
}
else
{
totaldays
=
totaldays
+
365;
}
}
for
(int
nomonth
=
1;
nomonth
<=
month;
nomonth++)
{
if
(nomonth
==
1
||
nomonth
==
3
||
nomonth
==
5
||
nomonth
==
7
||
nomonth
==
8
||
nomonth
==
10
||
nomonth
==
12)
{
dayofmonth
=
31;
}
else
if
(nomonth
==
2)
{
if
((year
%
4
==
0)
&&
(year
%
100
!=
0)
||
(year
%
400
==
0))
{
dayofmonth
=
29;
}
else
{
dayofmonth
=
28;
}
}
else
{
dayofmonth
=
30;
}
if
(nomonth
<
month)
{
totaldays
=
totaldays
+
dayofmonth;
}
//
System.out.println(totaldays);
}
System.out.println("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期天");
int
temp
=
(totaldays
%
7);
//
System.out.print(temp);
for
(int
p
=
0;
p
<
temp;
p++)
{
System.out.print("\t");
}
for
(int
w
=
1;
w
<=
dayofmonth;
w++)
{
System.out.print(w
+
"\t");
if
((totaldays
+
w)
%
7
==
0)
{
System.out.println();
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式