java計算年齡
① 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("請正確輸入");
}
}
}
}
功底淺薄,如果有問題,還望指教。