欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java实现输入年份,输出对应的生肖年

程序员文章站 2022-06-07 12:12:16
...

摘要:
  十二生肖的排序:鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪
提示:
  可以利用switch语句实现
语法:

 switch(表达式){
     case1:
       表达式的值和 值1匹配上了,需要执行的代码;
       break;
     case2:
       表达式的值和 值2匹配上了,需要执行的代码;
     break;
     case3:
       表达式的值和 值3匹配上了,需要执行的代码;
     break;
     default:
       如果表达式的值和以上的case后面的值都没有匹配上,那么就执行这里的代码。
       break;
   }
//不写break会穿透到下一个break

参考代码1:(推荐)

package com.gx.demo;

import java.util.Scanner;

public class Test1 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);// 声明扫描仪变量
		System.out.println("请输入年份");// 系统提示输入
		try { // 监听异常
			while (true) {
				int birth = input.nextInt() % 12; // 用户输入%12在再转换
				switch (birth) {
				case 0:
					System.out.println("猴年");
					break;
				case 1:
					System.out.println("鸡年");
					break;
				case 2:
					System.out.println("狗年");
					break;
				case 3:
					System.out.println("猪年");
					break;
				case 4:
					System.out.println("鼠年");
					break;
				case 5:
					System.out.println("牛年");
					break;
				case 6:
					System.out.println("虎年");
					break;
				case 7:
					System.out.println("兔年");
					break;
				case 8:
					System.out.println("龙年");
					break;
				case 9:
					System.out.println("蛇年");
					break;
				case 10:
					System.out.println("马年");
					break;
				case 11:
					System.out.println("羊年");
					break;
				default:
					System.out.println("错误!请输入大于0的数"); // 不满足以上条件的默认输出这个语句
				}
			}
		} catch (Exception e) { // 捕捉异常
			System.out.println("请正确输入");
			e.printStackTrace(); // 打印异常信息在程序中出错的位置及原因
		}
	}
}

输出结果:
例:

请输入年份
1998
虎年

解释:
  公元4年是甲子年,也就是属鼠;每隔12年一个循环,所以用年%12取余数判断即可;那么已知余数为4是属鼠(公元4年%12为4),依次类推5为丑,6为寅,7为卯,8为辰,9为巳,10为午,11为未,12(即0)为申,1为酉,2为戌,3为亥。

参考代码2:(不推荐)

package com.gx.demo;

import java.util.Scanner;

public class Test2 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);// 声明扫描仪变量
		System.out.println("请输入年份");// 系统提示输入
		try { // 监听异常
			while (true) {
				int birth = (input.nextInt()-4) % 12; // 用户输入-4然后%12再转换(按生肖顺序来)
				switch (birth) {
				case 0:
					System.out.println("鼠年");
					break;
				case 1:
					System.out.println("牛年");
					break;
				case 2:
					System.out.println("虎年");
					break;
				case 3:
					System.out.println("兔年");
					break;
				case 4:
					System.out.println("龙年");
					break;
				case 5:
					System.out.println("蛇年");
					break;
				case 6:
					System.out.println("马年");
					break;
				case 7:
					System.out.println("羊年");
					break;
				case 8:
					System.out.println("猴年");
					break;
				case 9:
					System.out.println("鸡年");
					break;
				case 10:
					System.out.println("狗年");
					break;
				case 11:
					System.out.println("猪年");
					break;
				default:
					System.out.println("错误!请输入大于0的数"); // 不满足以上条件的默认输出这个语句
				}
			}
		} catch (Exception e) { // 捕捉异常
			System.out.println("请正确输入");
			e.printStackTrace(); // 打印异常信息在程序中出错的位置及原因
		}
	}
}

输出结果:
例:

请输入年份
1997
牛年

解释:
  年份除于12,得出的余数减去3,所得的数字(如果所得数字为负数,加上12)就是相对应12生肖;12生肖顺序为: 1.鼠 2.牛 3.虎 4.兔 5.龙 6.蛇 7.马 8.羊 9.猴 10.鸡 11.狗 12.猪;比如1997%12,余数为5;5-3=2,2就对应生肖排序中的牛啦。
PS:其实这种推算也是根据规律来的,知道就好了。