用java写泳池建好后会设置票价18岁以上成年人每人50元18岁以下每人10元现在可以通过识别身份证给出具体价格要求输入身份证号当前日期为2020年3月1日给出具体门票价格。
下面是一个简单的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 著作权归作者所有。请勿转载和采集!