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

摘要:
  十二生肖的排序:鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪
提示:
  可以利用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:其实这种推算也是根据规律来的,知道就好了。

猜你喜欢

转载自blog.csdn.net/weixin_44563573/article/details/103345926