可以用循環(huán)啊,定義類person
芮城網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
Class person{
@Getter
@Setter
private int age;
@Getter
@Setter
private String name;
public person(int age,String name){
this.age=age;
this.name=name.
}
}
判斷年齡就用數(shù)組做了,假設(shè)你放一個(gè)ArrayList里
ArrayListPerson personList=new ArrayList();
personList.add(父親)
personList.add(爺爺)
personList.add(兒子)
for(Person person:personList){
if (person.getage90){
game over
}else if(person.getage0){
洗洗睡吧
}else{
打印名字和年齡 getname()+getage()
}
}
實(shí)現(xiàn)步驟:
1、獲取當(dāng)前時(shí)間
2、判斷出生日期是否小于當(dāng)前時(shí)間,如果大于,則引發(fā)一場(chǎng)
3、從當(dāng)前時(shí)間中取出年、月、日;從出生日期中取出年、月、日,年份相減
4、然后做具體判斷
示例代碼如下:
public?static?int?getAge(Date?birthDay)?throws?Exception?{?
//獲取當(dāng)前系統(tǒng)時(shí)間
Calendar?cal?=?Calendar.getInstance();?
//如果出生日期大于當(dāng)前時(shí)間,則拋出異常
if?(cal.before(birthDay))?{?
throw?new?IllegalArgumentException(?
"The?birthDay?is?before?Now.It's?unbelievable!");?
}?
//取出系統(tǒng)當(dāng)前時(shí)間的年、月、日部分
int?yearNow?=?cal.get(Calendar.YEAR);?
int?monthNow?=?cal.get(Calendar.MONTH);?
int?dayOfMonthNow?=?cal.get(Calendar.DAY_OF_MONTH);?
//將日期設(shè)置為出生日期
cal.setTime(birthDay);?
//取出出生日期的年、月、日部分??
int?yearBirth?=?cal.get(Calendar.YEAR);?
int?monthBirth?=?cal.get(Calendar.MONTH);?
int?dayOfMonthBirth?=?cal.get(Calendar.DAY_OF_MONTH);?
//當(dāng)前年份與出生年份相減,初步計(jì)算年齡
int?age?=?yearNow?-?yearBirth;?
//當(dāng)前月份與出生日期的月份相比,如果月份小于出生月份,則年齡上減1,表示不滿多少周歲
if?(monthNow?=?monthBirth)?{?
//如果月份相等,在比較日期,如果當(dāng)前日,小于出生日,也減1,表示不滿多少周歲
if?(monthNow?==?monthBirth)?{?
if?(dayOfMonthNow??dayOfMonthBirth)?age--;?
}else{?
age--;?
}?
}?
System.out.println("age:"+age);?
return?age;?
}
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("年齡計(jì)算器");
}
}
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(" 請(qǐng)輸入您的生日 ");
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("請(qǐng)正確輸入");
}
}
}
}
功底淺薄,如果有問題,還望指教。