万历年打印,看了你就会了!

Posted lovertc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了万历年打印,看了你就会了!相关的知识,希望对你有一定的参考价值。

在拿到一个题目的时候,不要想着立马就要写出程序来,我们必须写一个思路才行。

  首先要知道闰年的公式:(year%4==0&&year%100!=0)||year%400==0,然后再进行思路的描述:

1.计算1900年到输入那一年的天数

2.计算输入那一年每个月的天数

3.通过1和2就能够得出,从1900至输入这个月的天数

4.计算每个月的天数

5.打印万历表,String.format来调整格式

  详细代码如下参考:

import java.util.Scanner;
public class Test6{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("依次输入年,月:");
int year = input.nextInt();
int month = input.nextInt();
int sum = 0;
/*
计算总年的天数
*/
for (int i = 1900; i<year; i++) {
if ((i%4==0&&i%100!=0)||i%400==0){
sum += 366;
}else {
sum +=365;
}
}
/*
计算总月的天数
*/
for (int j = 1; j<month; j++) {
if (j==2) {
if ((j%4==0&&j%100!=0)||j%400==0) {
sum += 29;
}else{
sum += 28;
}
}else if (j==1||j==3||j==5||j==7||j==8||j==10||j==12) {
sum += 31;
}else{
sum += 30;
}
}
/*
每月多少天
*/
int smonth = 0;
if (month == 2) {
if ((year%4==0&&year%100!=0)||year%400==0) {
smonth = 29;
}else{
smonth = 28;
}
}else if (month==4||month==6||month==9||month==11) {
smonth = 30;
}else{
smonth = 31;
}
/*
打印万历表        
*/
System.out.println(String.format("%-6s%-6s%-6s%-6s%-6s%-6s%-6s","星期一","星期二","星期三","星期四","星期五","星期六","星期日"));
for (int i = 1; i<=(sum%7); i++) {
System.out.print(String.format("%-9s"," "));
}
for (int j = 1; j<=smonth; j++) {
System.out.print(String.format("%-9s",j));
if ((sum+j)%7==0) {
System.out.println();
}
}
}
}

以上是关于万历年打印,看了你就会了!的主要内容,如果未能解决你的问题,请参考以下文章

看了你就会的OkHttp介绍

Linux网络管理

vue 脚手架的搭建!傻瓜式的步骤,认真看了你也会了!

Sharding JDBC如何分库分表?看完你就会了

js的Proxy代理对象?看完你就会了

求哈工大计算机学院历年计算机网络试题!急用!!!各位好心人为年底...