java写一个万年历

2021/4/11 14:26:11

本文主要是介绍java写一个万年历,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

做一个万年历

代码如下(示例):

import java.lang.invoke.SwitchPoint;
import java.net.StandardSocketOptions;
import java.util.Scanner;

public class Demo1 {

	public static void main(String[] args) {
		System.out.println("==========欢迎使用万年历=========");
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入年份:");
		int year = sc.nextInt();
		System.out.println("请输入月份");
		int month = sc.nextInt();
		System.out.println("请输入一个日期:");
		int d = sc.nextInt();
		int totaldays = 0;//一年的总日数
		String weekday = null;
		
		boolean isRn = false;
		int days = 0;
		for(int i =0;i<year;i++){
			if((year%4==0&&year%100!=0)||(year%400==0)){
				//是润年
				totaldays +=366;
			}else{
				//不是闰年
				totaldays +=365;
			}
		}
		for(int i=0;i<month;i++){
		switch (i) {
		case 1:
		case 3:	
		case 5:	
		case 7:
		case 8:
		case 10:
		//case 12:
			totaldays += 31;
			break;
		case 2:
			if(i%4==0&&i%100!=0||i%400==0){
				totaldays  +=29;
			}else{
				totaldays +=28;
			}
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			totaldays +=30;
			break;
		default:
			System.out.println("输入月份不合法");
			break;
		}
		}
		//计算输入月份第一天
		int week = (days+1)%7;//week代表周几,从周日开始
		System.out.println("日\t一\t二\t三\t四\t五\t六");
		//如果一号在周四  前面打四个空
		for(int i =0;i<week;i++){
			System.out.print("\t");//循环不能换行 不然会数字竖起来排列
		}
		switch (month) {//放的是month,知道打印多少天
		case 1:
		case 3:	
		case 5:	
		case 7:
		case 8:
		case 10:
		case 12:
			for(int i =1;i<32;i++){
				System.out.print(i+"\t");//从一号开始打
				//何时换行 模除7
				if((i+week)%7==0){ 
					System.out.println();
				}
			}
			break;
		case 2:
			int j = year;
			if(j%4==0&&j%100!=0||j%400==0){
				for(int i =1;i<30;i++){
					System.out.print(i+"\t");
					if((i+week)%7==0){ 
						System.out.println();
					}
				}
			}else{
				for(int i =1;i<29;i++){
					System.out.println(i+"\t");
					if((i+week)%7==0){ 
						System.out.println();
					}
				}
				
			}
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			for(int i =1;i<31;i++){
				System.out.print(i+"\t");
				if((i+week)%7==0){ 
					System.out.println();
				}
			}
		}

		
}
}


这篇关于java写一个万年历的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程