下面是一个简单的Java程序,可以实现输入身份证号码,识别年龄并计算门票价格的功能:

import java.util.Scanner;
import java.text.SimpleDateFormat;
import java.util.Date;

public class SwimmingPool {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入身份证号码:");
        String idCard = input.nextLine();
        int age = getAge(idCard);
        double price;
        if (age >= 18) {
            price = 50.0;
        } else {
            price = 10.0;
        }
        System.out.println("门票价格为:" + price + "元");
    }

    public static int getAge(String idCard) {
        int age = 0;
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
            Date birthDate = sdf.parse(idCard.substring(6, 14));
            Date currentDate = sdf.parse("20200301");
            age = (int) ((currentDate.getTime() - birthDate.getTime()) / (1000 * 3600 * 24) / 365);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return age;
    }
}

程序首先提示用户输入身份证号码,然后调用getAge()方法计算年龄,再根据年龄判断门票价格并输出。getAge()方法中使用SimpleDateFormat类将身份证号码中的出生日期字符串转换为Date对象,然后计算与当前日期之间的年份差距以获得年龄。由于程序中写死了当前日期为2020年3月1日,所以无论何时运行程序,都会以这个日期为基准来计算年龄


原文地址: http://www.cveoy.top/t/topic/dowa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录