1. 程式人生 > 程式設計 >java實現簡單年齡計算器

java實現簡單年齡計算器

本文例項為大家分享了java實現簡單年齡計算器的具體程式碼,供大家參考,具體內容如下

製作一個如下圖年齡計算器

java實現簡單年齡計算器

根據題目,我做了一個由Calendar類以及年月日各相減得到的年齡,當然正確的方法不止一個,以下為我的原始碼和結果截圖:

package com.Date;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import java.util.StringTokenizer;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class AgeCounts extends JFrame implements ActionListener {
JTextField text1,text2;
public static String str = "";

public static void main(String[] args) {
new AgeCounts();
}

public AgeCounts() {
JFrame mywindow = new JFrame();
mywindow.setTitle("年齡計算1.0版");
mywindow.setSize(400,70);
mywindow.setLocation(350,300);
mywindow.setResizable(false);
mywindow.setLayout(new FlowLayout());
JLabel lab = new JLabel("生日 :");
mywindow.add(lab);
text1 = new JTextField("",10);
text2 = new JTextField("",10);
mywindow.add(text1);
JButton btn = new JButton("計算");
mywindow.add(btn);
btn.addActionListener(this);
mywindow.add(text2);
text2.setEditable(false);
mywindow.setVisible(true);
}

public void actionPerformed(ActionEvent e) {
boolean f = true;
str = text1.getText();
StringTokenizer st = new StringTokenizer(str," ");
int myYear,myMonth,myDay;
try {
myYear = Integer.parseInt(st.nextToken());
myMonth = Integer.parseInt(st.nextToken());
myDay = Integer.parseInt(st.nextToken());
if (myMonth > 12 || myMonth < 1) {
f = false;
text2.setText("日期錯誤");
}
if (myDay > 31 || myDay < 1) {
f = false;
text2.setText("日期錯誤");
}
if (myYear < 0) {
f = false;
text2.setText("日期錯誤");
}
if (f) {
getAge(myYear,myDay);
}

} catch (Exception e1) {
text2.setText("日期格式錯誤");
}

}

// 年齡計算函式
public void getAge(int year,int month,int day) {
boolean b = true;
Calendar cal = Calendar.getInstance();
int yearNow = cal.get(Calendar.YEAR);
int monthNow = cal.get(Calendar.MONTH) + 1;
int dayNow = cal.get(Calendar.DAY_OF_MONTH);
int years,months = 0,days = 0;
if (dayNow < day) {
dayNow = dayNow + 30;
monthNow = monthNow - 1;
}
if (monthNow < month) {
monthNow = monthNow + 12;
yearNow = yearNow - 1;
}
if (yearNow < year) {
b = false;
text2.setText("你還沒有出生喲");
}
if (b) {
years = yearNow - year;
months = monthNow - month;
days = dayNow - day;
String result = years + "歲零" + months + "個月" + days + "天";
text2.setText(result);
}
}

}

結果截圖:

java實現簡單年齡計算器

java實現簡單年齡計算器

java實現簡單年齡計算器

java實現簡單年齡計算器

更多計算器功能實現,請點選專題: 計算器功能彙總 進行學習

關於Android計算器功能的實現,檢視專題:Android計算器 進行學習。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。