当前位置:首页 » 编程语言 » java计算年龄

java计算年龄

发布时间: 2024-12-13 12:47:35

java 根据出生日期获得年龄

实现步骤:

1、获取当前时间

2、判断出生日期是否小于当前时间,如果大于,则引发一场

3、从当前时间中取出年、月、日;从出生日期中取出年、月、日,年份相减

4、然后做具体判断

示例代码如下:

publicstaticintgetAge(DatebirthDay)throwsException{
//获取当前系统时间
Calendarcal=Calendar.getInstance();
//如果出生日期大于当前时间,则抛出异常
if(cal.before(birthDay)){
(
"ThebirthDayisbeforeNow.It'sunbelievable!");
}
//取出系统当前时间的年、月、日部分
intyearNow=cal.get(Calendar.YEAR);
intmonthNow=cal.get(Calendar.MONTH);
intdayOfMonthNow=cal.get(Calendar.DAY_OF_MONTH);

//将日期设置为出生日期
cal.setTime(birthDay);
//取出出生日期的年、月、日部分
intyearBirth=cal.get(Calendar.YEAR);
intmonthBirth=cal.get(Calendar.MONTH);
intdayOfMonthBirth=cal.get(Calendar.DAY_OF_MONTH);
//当前年份与出生年份相减,初步计算年龄
intage=yearNow-yearBirth;
//当前月份与出生日期的月份相比,如果月份小于出生月份,则年龄上减1,表示不满多少周岁
if(monthNow<=monthBirth){
//如果月份相等,在比较日期,如果当前日,小于出生日,也减1,表示不满多少周岁
if(monthNow==monthBirth){
if(dayOfMonthNow<dayOfMonthBirth)age--;
}else{
age--;
}
}
System.out.println("age:"+age);
returnage;
}

② 编写java代码计算全班同学年龄

计算全班同学年龄之和。
思路:从键盘上依次输入每个同学的年龄,然后求和输出:
import java.util.Scanner;
public class TestMain {

public static void main(String[] args) {
int sum=0;
Scanner in =new Scanner(System.in);
int n = in.nextInt();
sum+=n;
System.out.println(sum);
}
}

③ java一段计算年龄代码如何用最简化的方式写

可以用循环啊,定义类person
Class person{

@Getter
@Setter

private int age;
@Getter
@Setter
private String name;

public person(int age,String name){
this.age=age;
this.name=name.

}

}

判断年龄就用数组做了,假设你放一个ArrayList里
ArrayList<Person> personList=new ArrayList();
personList.add(父亲)
personList.add(爷爷)
personList.add(儿子)
for(Person person:personList){
if (person.getage>90){
game over

}else if(person.getage<0){
洗洗睡吧

}else{
打印名字和年龄 getname()+getage()

}

}

④ java计算年龄

import java.util.Calendar;
import java.util.Date;
import java.awt.*;
import java.awt.event.*;
import java.text.NumberFormat;

public class H {
public static void main(String args[]) {
new Time("年龄计算器");

}
}

class Time extends Frame implements ActionListener {
Calendar calendar;
Button button;
TextField t1, t2, t3;
Label l, l1, l2, l3;

Time(String s) {
super(s);
setLayout(new FlowLayout());
button = new Button("确定");
button.addActionListener(this);
t1 = new TextField(2);
t2 = new TextField(2);
t3 = new TextField(2);
l = new Label(" 请输入您的生日 ");
l.setBackground(Color.cyan);
l1 = new Label("年");
l2 = new Label("月");
l3 = new Label("日");
add(l);
add(t1);
add(l1);
add(t2);
add(l2);
add(t3);
add(l3);
add(button);
setBounds(100, 100, 280, 100);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setVisible(true);
validate();
}

public void actionPerformed(ActionEvent e) {
calendar = Calendar.getInstance();
calendar.setTime(new Date());
NumberFormat f = NumberFormat.getInstance();
long time = calendar.getTimeInMillis();
if (e.getSource() == button) {
try {
int n = Integer.parseInt(t1.getText());
int y = Integer.parseInt(t2.getText());
int r = Integer.parseInt(t3.getText());
calendar.set(n, y - 1, r);
double time1 = calendar.getTimeInMillis();
double c = (time - time1) / (1000 * 60 * 60 * 24);
double d = c/365;
f.setMaximumFractionDigits(2);
String s = f.format(d);
l.setText("您的年龄约为" + s + " 岁");
} catch (NumberFormatException ee) {
l.setText("请正确输入");
}
}
}
}

功底浅薄,如果有问题,还望指教。

热点内容
端口访问关系 发布:2025-03-13 03:49:50 浏览:788
运用零基预算法 发布:2025-03-13 03:45:30 浏览:790
安卓服务器搭建web 发布:2025-03-13 03:40:26 浏览:317
铜板算法 发布:2025-03-13 03:40:25 浏览:621
ins怎么保存图片安卓 发布:2025-03-13 03:38:14 浏览:214
什么数据库快 发布:2025-03-13 03:34:38 浏览:52
喋血复仇加入服务器失败怎么回事 发布:2025-03-13 03:33:37 浏览:698
萌感系列全集用什么解压 发布:2025-03-13 03:30:31 浏览:265
为什么别人看我抖音显示服务器维护中 发布:2025-03-13 03:24:45 浏览:687
javafield反射 发布:2025-03-13 03:24:08 浏览:830