Escriba uno para obtener el año, mes y día actual, y obtenga la fecha de nacimiento del teclado, y calcule la edad y la edad, las condiciones específicas son las siguientes:

  1. Defina una clase de nacimiento con variables miembro: año, mes y día. Defina dos constructores. El método de construcción sin parámetros inicializa las variables miembro a año = 0, mes = 0, día = 0; el método de construcción parametrizado (3 parámetros) asigna valores a las variables (no puede verificar la racionalidad de la asignación).
  2. El método para calcular la edad, calcuAges (): Su función es obtener la fecha actual, calcular la diferencia entre la fecha actual y la variable miembro año, mes y día, y solo necesita calcular el año e imprimirlo. Por ejemplo, 20 años y 8 meses se imprimirán como 20 años; y 19 años si un día tiene menos de 20 años.
    Formato de impresión: por ejemplo, una persona nacida el 10 de diciembre de 2000 tiene 19 años en la actualidad.
    Birth.java
import java.util.*;
public class Birth {
    
    
	private int year;
	private int month;
	private int day;
	public Birth() {
    
    
		this.year=0;
		this.month=0;
		this.day=0;
	}							//定义参数
	public Birth(int y,int m,int d) {
    
    
		this.year=y;
		this.month=m;
		this.day=d;
	}							//定义构造函数
	public void calcuAges(int year,int month,int day) {
    
    
		Calendar cal=Calendar.getInstance();
		int ages=0;
		year=cal.get(Calendar.YEAR);
		month=1+cal.get(Calendar.MONTH);
		day=1+cal.get(Calendar.DAY_OF_MONTH);			//获取系统时间
		ages=year-this.year-1;							//默认减一
		if(month>this.month)
			ages++;									//如果生日月小于当前月,自增
		else if((day<this.day)&&(month==this.month))
			ages++;									//当前月与生日月一致时判断日
		System.out.println(this.year+"年"+this.month+"月"+this.day+"日出生的人,今天"+ages+"岁");
	}
}

Test.java

import java.util.Scanner;
public class Test {
    
    
	public static void main(String[] args) {
    
    
		//TODO Auto-generated method stub
		int y,m,d;
		Scanner in=new Scanner(System.in);
		System.out.println("请输入出生年月日:");
		y=in.nextInt();
		m=in.nextInt();
		d=in.nextInt();
		Birth a=new Birth(y,m,d);
		a.calcuAges(y, m, d);
	}
}

Captura de pantalla de resultados
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/The_Handsome_Sir/article/details/108902977
Recomendado
Clasificación